summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@nokia.com>2011-09-02 15:00:26 +0200
committerGunnar Sletta <gunnar.sletta@nokia.com>2011-09-02 15:00:26 +0200
commit3fd4dd035e3accfb8e6ef74e6f7543fcef42bef1 (patch)
treee7c8e8509fd46a879d1fe0606274b3405db1610a
parent7c1ea535ef09c57765560c8ab7c497c44e42cc6e (diff)
compile with refactor
-rw-r--r--demos/qt3d/photobrowser3d/main.cpp2
-rw-r--r--demos/quick3d/flickr3d/main.cpp2
-rw-r--r--demos/quick3d/model_viewer/main.cpp2
-rw-r--r--demos/quick3d/robo_bounce/main.cpp2
-rw-r--r--demos/quick3d/tea_service/main.cpp2
-rw-r--r--examples/qt3d/graphicsview/modelitem.cpp4
-rw-r--r--examples/qt3d/graphicsview/view.cpp2
-rw-r--r--examples/qt3d/graphicsview/view.h6
-rw-r--r--examples/qt3d/tank/main.cpp2
-rw-r--r--examples/quick3d/basket/main.cpp2
-rw-r--r--examples/quick3d/cube/main.cpp2
-rw-r--r--examples/quick3d/forest/main.cpp2
-rw-r--r--examples/quick3d/lander/main.cpp2
-rw-r--r--examples/quick3d/matrix_animation/main.cpp2
-rw-r--r--examples/quick3d/modelview3d/main.cpp2
-rw-r--r--examples/quick3d/monkeygod/main.cpp2
-rw-r--r--examples/quick3d/moon/main.cpp2
-rw-r--r--examples/quick3d/photoroom/main.cpp2
-rw-r--r--examples/quick3d/shaders/main.cpp2
-rw-r--r--examples/quick3d/sphere/main.cpp2
-rw-r--r--src/imports/threed/viewport.cpp6
-rw-r--r--src/imports/threed/viewport.h2
-rw-r--r--src/quick3d/qdeclarativeitem3d.h2
-rw-r--r--src/quick3d/qdeclarativeview3d.h2
-rw-r--r--src/quick3d/quick3d.pro2
-rw-r--r--src/threed/api/api.pri2
-rwxr-xr-xsrc/threed/api/gl-gen-funcs.pl12
-rw-r--r--src/threed/api/qopenglfunctions.cpp3690
-rw-r--r--src/threed/api/qopenglfunctions.h2292
-rw-r--r--src/threed/graphicsview/qglgraphicsviewportitem.cpp2
-rw-r--r--src/threed/graphicsview/qglgraphicsviewportitem.h2
-rw-r--r--src/threed/graphicsview/qgraphicsembedscene.cpp4
-rw-r--r--src/threed/graphicsview/qgraphicsembedscene.h2
-rw-r--r--src/threed/painting/qglext.cpp40
-rw-r--r--src/threed/painting/qglext_p.h43
-rw-r--r--src/threed/painting/qglpainter.cpp2
-rw-r--r--src/threed/scene/qglscenenode.cpp2
-rw-r--r--src/threed/textures/qglsharedresource.cpp7
-rw-r--r--src/threed/textures/qgltextureutils.cpp14
-rw-r--r--src/threed/textures/qgltextureutils_p.h10
-rw-r--r--src/threed/threed.pro6
-rw-r--r--src/threed/viewing/qglview.cpp2
-rw-r--r--tests/auto/qml3d/qml3d.pro1
-rw-r--r--tests/auto/qml3d/tst_qml3d.cpp2
-rw-r--r--tests/auto/threed/qglcolladafxeffectfactory/qglcolladafxeffectfactory.pro3
-rw-r--r--tests/auto/threed/qopenglfunctions/qopenglfunctions.pro2
-rw-r--r--tests/auto/threed/qopenglfunctions/tst_qopenglfunctions.cpp1
-rw-r--r--tests/auto/threed/qsphere3d/qsphere3d.pro1
-rw-r--r--tests/auto/threed/qvectorarray/qvectorarray.pro2
-rw-r--r--tests/manual/animations/main.cpp2
-rw-r--r--tests/manual/displaymodel/main.cpp2
-rw-r--r--tests/manual/model3ds/main.cpp2
-rw-r--r--tests/manual/navigation1/main.cpp2
-rw-r--r--tests/manual/qrc/main.cpp2
-rw-r--r--tests/manual/rotation/main.cpp2
-rw-r--r--tests/manual/scaling/main.cpp2
-rw-r--r--tests/manual/submesh/main.cpp2
-rw-r--r--tests/manual/transformations/main.cpp2
-rw-r--r--tests/manual/translation/main.cpp2
-rw-r--r--tutorials/quick3d/teapot_bounce_qml/main.cpp2
-rw-r--r--tutorials/quick3d/teapot_qml/main.cpp2
-rw-r--r--util/qt3d/qglinfo/qglinfowindow.cpp2
62 files changed, 121 insertions, 6109 deletions
diff --git a/demos/qt3d/photobrowser3d/main.cpp b/demos/qt3d/photobrowser3d/main.cpp
index 1ad10352..bd1390ac 100644
--- a/demos/qt3d/photobrowser3d/main.cpp
+++ b/demos/qt3d/photobrowser3d/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include <QtCore/QThread>
#include "photobrowser3dview.h"
diff --git a/demos/quick3d/flickr3d/main.cpp b/demos/quick3d/flickr3d/main.cpp
index c53ea6db..885a8671 100644
--- a/demos/quick3d/flickr3d/main.cpp
+++ b/demos/quick3d/flickr3d/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/demos/quick3d/model_viewer/main.cpp b/demos/quick3d/model_viewer/main.cpp
index 127be272..89e1506f 100644
--- a/demos/quick3d/model_viewer/main.cpp
+++ b/demos/quick3d/model_viewer/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/demos/quick3d/robo_bounce/main.cpp b/demos/quick3d/robo_bounce/main.cpp
index c635e86a..64ee9bc1 100644
--- a/demos/quick3d/robo_bounce/main.cpp
+++ b/demos/quick3d/robo_bounce/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
int main(int argc, char *argv[])
diff --git a/demos/quick3d/tea_service/main.cpp b/demos/quick3d/tea_service/main.cpp
index ed22e4b9..b7f5a672 100644
--- a/demos/quick3d/tea_service/main.cpp
+++ b/demos/quick3d/tea_service/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/examples/qt3d/graphicsview/modelitem.cpp b/examples/qt3d/graphicsview/modelitem.cpp
index 41ba1383..54151fa3 100644
--- a/examples/qt3d/graphicsview/modelitem.cpp
+++ b/examples/qt3d/graphicsview/modelitem.cpp
@@ -41,8 +41,8 @@
#include "modelitem.h"
#include "qglpainter.h"
#include "qgraphicsembedscene.h"
-#include <QtGui/qgraphicssceneevent.h>
-#include <QtGui/qapplication.h>
+#include <QtWidgets/qgraphicssceneevent.h>
+#include <QtWidgets/qapplication.h>
const qreal CubeSize = 2.0f;
diff --git a/examples/qt3d/graphicsview/view.cpp b/examples/qt3d/graphicsview/view.cpp
index 73f4bb6c..d114dc16 100644
--- a/examples/qt3d/graphicsview/view.cpp
+++ b/examples/qt3d/graphicsview/view.cpp
@@ -43,7 +43,7 @@
#include "teapotitem.h"
#include "graph.h"
#include "qglcamera.h"
-#include <QtGui/qgraphicssceneevent.h>
+#include <QtWidgets/qgraphicssceneevent.h>
View::View(QWidget *parent)
: QGraphicsView(parent)
diff --git a/examples/qt3d/graphicsview/view.h b/examples/qt3d/graphicsview/view.h
index f47a7249..da89da3a 100644
--- a/examples/qt3d/graphicsview/view.h
+++ b/examples/qt3d/graphicsview/view.h
@@ -41,9 +41,9 @@
#ifndef VIEW_H
#define VIEW_H
-#include <QtGui/qgraphicsview.h>
-#include <QtGui/qgraphicsscene.h>
-#include <QtGui/qgraphicsitem.h>
+#include <QtWidgets/qgraphicsview.h>
+#include <QtWidgets/qgraphicsscene.h>
+#include <QtWidgets/qgraphicsitem.h>
class CubeItem;
class TeapotItem;
diff --git a/examples/qt3d/tank/main.cpp b/examples/qt3d/tank/main.cpp
index 14e1ef43..b6808da8 100644
--- a/examples/qt3d/tank/main.cpp
+++ b/examples/qt3d/tank/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include <time.h>
diff --git a/examples/quick3d/basket/main.cpp b/examples/quick3d/basket/main.cpp
index 3907160b..41508d73 100644
--- a/examples/quick3d/basket/main.cpp
+++ b/examples/quick3d/basket/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
int main(int argc, char *argv[])
diff --git a/examples/quick3d/cube/main.cpp b/examples/quick3d/cube/main.cpp
index 44dd0a0c..24bd8b6b 100644
--- a/examples/quick3d/cube/main.cpp
+++ b/examples/quick3d/cube/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/examples/quick3d/forest/main.cpp b/examples/quick3d/forest/main.cpp
index f20698db..10077543 100644
--- a/examples/quick3d/forest/main.cpp
+++ b/examples/quick3d/forest/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
int main(int argc, char *argv[])
diff --git a/examples/quick3d/lander/main.cpp b/examples/quick3d/lander/main.cpp
index f546e0e0..04541d3a 100644
--- a/examples/quick3d/lander/main.cpp
+++ b/examples/quick3d/lander/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/examples/quick3d/matrix_animation/main.cpp b/examples/quick3d/matrix_animation/main.cpp
index 6a667de6..2b084586 100644
--- a/examples/quick3d/matrix_animation/main.cpp
+++ b/examples/quick3d/matrix_animation/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/examples/quick3d/modelview3d/main.cpp b/examples/quick3d/modelview3d/main.cpp
index c8bb3cca..79d30df1 100644
--- a/examples/quick3d/modelview3d/main.cpp
+++ b/examples/quick3d/modelview3d/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/examples/quick3d/monkeygod/main.cpp b/examples/quick3d/monkeygod/main.cpp
index cd303558..20e33ed3 100644
--- a/examples/quick3d/monkeygod/main.cpp
+++ b/examples/quick3d/monkeygod/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/examples/quick3d/moon/main.cpp b/examples/quick3d/moon/main.cpp
index ec241f46..6838ea2c 100644
--- a/examples/quick3d/moon/main.cpp
+++ b/examples/quick3d/moon/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/examples/quick3d/photoroom/main.cpp b/examples/quick3d/photoroom/main.cpp
index 1830be17..0ba5b60b 100644
--- a/examples/quick3d/photoroom/main.cpp
+++ b/examples/quick3d/photoroom/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/examples/quick3d/shaders/main.cpp b/examples/quick3d/shaders/main.cpp
index ab63fff4..c668d129 100644
--- a/examples/quick3d/shaders/main.cpp
+++ b/examples/quick3d/shaders/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/examples/quick3d/sphere/main.cpp b/examples/quick3d/sphere/main.cpp
index 311aefbf..acc939de 100644
--- a/examples/quick3d/sphere/main.cpp
+++ b/examples/quick3d/sphere/main.cpp
@@ -38,7 +38,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/src/imports/threed/viewport.cpp b/src/imports/threed/viewport.cpp
index 48f46997..ee54eea4 100644
--- a/src/imports/threed/viewport.cpp
+++ b/src/imports/threed/viewport.cpp
@@ -52,9 +52,9 @@
#include "skybox.h"
#include <QtGui/qpainter.h>
-#include <QtGui/qgraphicsview.h>
-#include <QtGui/qgraphicsscene.h>
-#include <QtGui/qgraphicssceneevent.h>
+#include <QtWidgets/qgraphicsview.h>
+#include <QtWidgets/qgraphicsscene.h>
+#include <QtWidgets/qgraphicssceneevent.h>
#include <QtGui/qevent.h>
#include <QtOpenGL/qglframebufferobject.h>
#include <QtCore/qtimer.h>
diff --git a/src/imports/threed/viewport.h b/src/imports/threed/viewport.h
index 5a4c0f8d..3198fb94 100644
--- a/src/imports/threed/viewport.h
+++ b/src/imports/threed/viewport.h
@@ -42,7 +42,7 @@
#ifndef VIEWPORT_H
#define VIEWPORT_H
-#include <QtDeclarative/qdeclarativeitem.h>
+#include <QtQuick1/qdeclarativeitem.h>
#include "qdeclarativeitem3d.h"
#include "qdeclarativeviewport.h"
diff --git a/src/quick3d/qdeclarativeitem3d.h b/src/quick3d/qdeclarativeitem3d.h
index 14620940..14e9406e 100644
--- a/src/quick3d/qdeclarativeitem3d.h
+++ b/src/quick3d/qdeclarativeitem3d.h
@@ -48,7 +48,7 @@
#include <QtCore/qvariant.h>
#include <QtGui/qvector3d.h>
-#include <QtDeclarative/qdeclarativeitem.h>
+#include <QtQuick1/qdeclarativeitem.h>
#include "qglscenenode.h"
#include "qglpainter.h"
diff --git a/src/quick3d/qdeclarativeview3d.h b/src/quick3d/qdeclarativeview3d.h
index 0ab65690..17ce81ca 100644
--- a/src/quick3d/qdeclarativeview3d.h
+++ b/src/quick3d/qdeclarativeview3d.h
@@ -42,7 +42,7 @@
#ifndef QDECLARATIVEVIEW3D_H
#define QDECLARATIVEVIEW3D_H
-#include <QtDeclarative/qdeclarativeview.h>
+#include <QtQuick1/qdeclarativeview.h>
#include "qt3dquickglobal.h"
QT_BEGIN_HEADER
diff --git a/src/quick3d/quick3d.pro b/src/quick3d/quick3d.pro
index 340e902b..3e01e7f7 100644
--- a/src/quick3d/quick3d.pro
+++ b/src/quick3d/quick3d.pro
@@ -8,7 +8,7 @@ gcov {
CONFIG += dll warn_on
}
-QT += declarative
+QT += declarative qtquick1
include(../../pkg.pri)
diff --git a/src/threed/api/api.pri b/src/threed/api/api.pri
index 6b06b650..dc482a5e 100644
--- a/src/threed/api/api.pri
+++ b/src/threed/api/api.pri
@@ -1,4 +1,2 @@
INCLUDEPATH += $$PWD
VPATH += $$PWD
-HEADERS += api/qopenglfunctions.h
-SOURCES += qopenglfunctions.cpp
diff --git a/src/threed/api/gl-gen-funcs.pl b/src/threed/api/gl-gen-funcs.pl
index 8f495649..2002252b 100755
--- a/src/threed/api/gl-gen-funcs.pl
+++ b/src/threed/api/gl-gen-funcs.pl
@@ -126,17 +126,17 @@ print "# define QT3D_GLF_APIENTRY APIENTRY\n";
print "#endif\n";
print "\n";
print "#ifndef Q_WS_MAC\n";
-print "# ifndef QT3D_GLF_APIENTRYP\n";
+print "# ifndef QOPENGLF_APIENTRYP\n";
print "# ifdef QT3D_GLF_APIENTRY\n";
-print "# define QT3D_GLF_APIENTRYP QT3D_GLF_APIENTRY *\n";
+print "# define QOPENGLF_APIENTRYP QT3D_GLF_APIENTRY *\n";
print "# else\n";
print "# define QT3D_GLF_APIENTRY\n";
-print "# define QT3D_GLF_APIENTRYP *\n";
+print "# define QOPENGLF_APIENTRYP *\n";
print "# endif\n";
print "# endif\n";
print "#else\n";
print "# define QT3D_GLF_APIENTRY\n";
-print "# define QT3D_GLF_APIENTRYP *\n";
+print "# define QOPENGLF_APIENTRYP *\n";
print "#endif\n";
print "\n";
print "struct QOpenGLFunctionsPrivate;\n";
@@ -221,7 +221,7 @@ foreach ( @functions ) {
my $name = $_->{'varname'};
#print "#ifndef QT_OPENGL_ES_1\n" if ($shader_only && !$last_shader_only);
#print "#endif\n" if (!$shader_only && $last_shader_only);
- print " $_->{'returnType'} (QT3D_GLF_APIENTRYP $name)($_->{'argstr'});\n";
+ print " $_->{'returnType'} (QOPENGLF_APIENTRYP $name)($_->{'argstr'});\n";
$last_shader_only = $shader_only;
}
#print "#endif\n" if $last_shader_only;
@@ -401,7 +401,7 @@ foreach ( @functions ) {
print "static $_->{'returnType'} QT3D_GLF_APIENTRY $resolver_name($_->{'argstr'})\n";
print "{\n";
my $type_name = "type_$_->{'name'}";
- print " typedef $_->{'returnType'} (QT3D_GLF_APIENTRYP $type_name)($_->{'argstr'});\n\n";
+ print " typedef $_->{'returnType'} (QOPENGLF_APIENTRYP $type_name)($_->{'argstr'});\n\n";
print " const QGLContext *context = QGLContext::currentContext();\n";
print " QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);\n";
print "\n";
diff --git a/src/threed/api/qopenglfunctions.cpp b/src/threed/api/qopenglfunctions.cpp
deleted file mode 100644
index fabf3e04..00000000
--- a/src/threed/api/qopenglfunctions.cpp
+++ /dev/null
@@ -1,3690 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qopenglfunctions.h"
-#include "qglext_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QOpenGLFunctions
- \brief The QOpenGLFunctions class provides cross-platform access to the OpenGL/ES 2.0 API.
- \since 4.8
- \ingroup qt3d
- \ingroup qt3d::enablers
-
- OpenGL/ES 2.0 defines a subset of the OpenGL specification that is
- common across many desktop and embedded OpenGL implementations.
- However, it can be difficult to use the functions from that subset
- because they need to be resolved manually on desktop systems.
-
- QOpenGLFunctions provides a guaranteed API that is available on all
- OpenGL systems and takes care of function resolution on systems
- that need it. The recommended way to use QOpenGLFunctions is by
- direct inheritance:
-
- \code
- class MyGLWidget : public QGLWidget, protected QOpenGLFunctions
- {
- Q_OBJECT
- public:
- MyGLWidget(QWidget *parent = 0) : QGLWidget(parent) {}
-
- protected:
- void initializeGL();
- void paintGL();
- };
-
- void MyGLWidget::initializeGL()
- {
- initializeGLFunctions();
- }
- \endcode
-
- The \c{paintGL()} function can then use any of the OpenGL/ES 2.0
- functions without explicit resolution, such as glActiveTexture()
- in the following example:
-
- \code
- void MyGLWidget::paintGL()
- {
- glActiveTexture(GL_TEXTURE1);
- glBindTexture(GL_TEXTURE_2D, textureId);
- ...
- }
- \endcode
-
- QOpenGLFunctions can also be used directly for ad-hoc invocation
- of OpenGL/ES 2.0 functions on all platforms:
-
- \code
- QOpenGLFunctions glFuncs(QGLContext::currentContext());
- glFuncs.glActiveTexture(GL_TEXTURE1);
- \endcode
-
- QOpenGLFunctions provides wrappers for all OpenGL/ES 2.0 functions,
- except those like \c{glDrawArrays()}, \c{glViewport()}, and
- \c{glBindTexture()} that don't have portability issues.
-
- Including the header for QOpenGLFunctions will also define all of
- the OpenGL/ES 2.0 macro constants that are not already defined by
- the system's OpenGL headers, such as \c{GL_TEXTURE1} above.
-
- The hasOpenGLFeature() and openGLFeatures() functions can be used
- to determine if the OpenGL implementation has a major OpenGL/ES 2.0
- feature. For example, the following checks if non power of two
- textures are available:
-
- \code
- QOpenGLFunctions funcs(QGLContext::currentContext());
- bool npot = funcs.hasOpenGLFeature(QOpenGLFunctions::NPOTTextures);
- \endcode
-*/
-
-/*!
- \enum QOpenGLFunctions::OpenGLFeature
- This enum defines OpenGL/ES 2.0 features that may be optional
- on other platforms.
-
- \value Multitexture glActiveTexture() function is available.
- \value Shaders Shader functions are available.
- \value Buffers Vertex and index buffer functions are available.
- \value Framebuffers Framebuffer object functions are available.
- \value BlendColor glBlendColor() is available.
- \value BlendEquation glBlendEquation() is available.
- \value BlendEquationSeparate glBlendEquationSeparate() is available.
- \value BlendFuncSeparate glBlendFuncSeparate() is available.
- \value BlendSubtract Blend subtract mode is available.
- \value CompressedTextures Compressed texture functions are available.
- \value Multisample glSampleCoverage() function is available.
- \value StencilSeparate Separate stencil functions are available.
- \value NPOTTextures Non power of two textures are available.
-*/
-
-// Hidden private fields for additional extension data.
-// Hidden private fields for additional extension data.
-struct QOpenGLFunctionsPrivateEx : public QOpenGLFunctionsPrivate
-{
- QOpenGLFunctionsPrivateEx(const QGLContext *context = 0)
- : QOpenGLFunctionsPrivate(context)
- , m_features(-1) {}
-
- int m_features;
-};
-
-Q_GLOBAL_STATIC(QGLResource<QOpenGLFunctionsPrivateEx>, qt_gl_functions_resource)
-
-static QOpenGLFunctionsPrivateEx *qt_gl_functions(const QGLContext *context = 0)
-{
- if (!context)
- context = QGLContext::currentContext();
- Q_ASSERT(context);
- return qt_gl_functions_resource()->value(context);
-}
-
-/*!
- Constructs a default function resolver. The resolver cannot
- be used until initializeGLFunctions() is called to specify
- the context.
-
- \sa initializeGLFunctions()
-*/
-QOpenGLFunctions::QOpenGLFunctions()
- : d_ptr(0)
-{
-}
-
-/*!
- Constructs a function resolver for \a context. If \a context
- is null, then the resolver will be created for the current QGLContext.
-
- An object constructed in this way can only be used with \a context
- and other contexts that share with it. Use initializeGLFunctions()
- to change the object's context association.
-
- \sa initializeGLFunctions()
-*/
-QOpenGLFunctions::QOpenGLFunctions(const QGLContext *context)
- : d_ptr(qt_gl_functions(context))
-{
-}
-
-/*!
- \fn QOpenGLFunctions::~QOpenGLFunctions()
-
- Destroys this function resolver.
-*/
-
-static int qt_gl_resolve_features()
-{
-#if defined(QT_OPENGL_ES_2)
- return QOpenGLFunctions::Multitexture |
- QOpenGLFunctions::Shaders |
- QOpenGLFunctions::Buffers |
- QOpenGLFunctions::Framebuffers |
- QOpenGLFunctions::BlendColor |
- QOpenGLFunctions::BlendEquation |
- QOpenGLFunctions::BlendEquationSeparate |
- QOpenGLFunctions::BlendFuncSeparate |
- QOpenGLFunctions::BlendSubtract |
- QOpenGLFunctions::CompressedTextures |
- QOpenGLFunctions::Multisample |
- QOpenGLFunctions::StencilSeparate |
- QOpenGLFunctions::NPOTTextures;
-#elif defined(QT_OPENGL_ES)
- int features = QOpenGLFunctions::Multitexture |
- QOpenGLFunctions::Buffers |
- QOpenGLFunctions::CompressedTextures |
- QOpenGLFunctions::Multisample;
- QGLExtensionChecker extensions(reinterpret_cast<const char *>(glGetString(GL_EXTENSIONS)));
- if (extensions.match("GL_OES_framebuffer_object"))
- features |= QOpenGLFunctions::Framebuffers;
- if (extensions.match("GL_OES_blend_equation_separate"))
- features |= QOpenGLFunctions::BlendEquationSeparate;
- if (extensions.match("GL_OES_blend_func_separate"))
- features |= QOpenGLFunctions::BlendFuncSeparate;
- if (extensions.match("GL_OES_blend_subtract"))
- features |= QOpenGLFunctions::BlendSubtract;
- if (extensions.match("GL_OES_texture_npot"))
- features |= QOpenGLFunctions::NPOTTextures;
- return features;
-#else
- int features = 0;
- QGLFormat::OpenGLVersionFlags versions = QGLFormat::openGLVersionFlags();
- QGLExtensionChecker extensions(reinterpret_cast<const char *>(glGetString(GL_EXTENSIONS)));
-
- // Recognize features by extension name.
- if (extensions.match("GL_ARB_multitexture"))
- features |= QOpenGLFunctions::Multitexture;
- if (extensions.match("GL_ARB_shader_objects"))
- features |= QOpenGLFunctions::Shaders;
- if (extensions.match("GL_EXT_framebuffer_object") ||
- extensions.match("GL_ARB_framebuffer_object"))
- features |= QOpenGLFunctions::Framebuffers;
- if (extensions.match("GL_EXT_blend_color"))
- features |= QOpenGLFunctions::BlendColor;
- if (extensions.match("GL_EXT_blend_equation_separate"))
- features |= QOpenGLFunctions::BlendEquationSeparate;
- if (extensions.match("GL_EXT_blend_func_separate"))
- features |= QOpenGLFunctions::BlendFuncSeparate;
- if (extensions.match("GL_EXT_blend_subtract"))
- features |= QOpenGLFunctions::BlendSubtract;
- if (extensions.match("GL_ARB_texture_compression"))
- features |= QOpenGLFunctions::CompressedTextures;
- if (extensions.match("GL_ARB_multisample"))
- features |= QOpenGLFunctions::Multisample;
- if (extensions.match("GL_ARB_texture_non_power_of_two"))
- features |= QOpenGLFunctions::NPOTTextures;
-
- // Recognize features by minimum OpenGL version.
- if (versions & QGLFormat::OpenGL_Version_1_2) {
- features |= QOpenGLFunctions::BlendColor |
- QOpenGLFunctions::BlendEquation;
- }
- if (versions & QGLFormat::OpenGL_Version_1_3) {
- features |= QOpenGLFunctions::Multitexture |
- QOpenGLFunctions::CompressedTextures |
- QOpenGLFunctions::Multisample;
- }
- if (versions & QGLFormat::OpenGL_Version_1_4)
- features |= QOpenGLFunctions::BlendFuncSeparate;
- if (versions & QGLFormat::OpenGL_Version_1_5)
- features |= QOpenGLFunctions::Buffers;
- if (versions & QGLFormat::OpenGL_Version_2_0) {
- features |= QOpenGLFunctions::Shaders |
- QOpenGLFunctions::StencilSeparate |
- QOpenGLFunctions::BlendEquationSeparate |
- QOpenGLFunctions::NPOTTextures;
- }
- return features;
-#endif
-}
-
-/*!
- Returns the set of features that are present on this system's
- OpenGL implementation.
-
- It is assumed that the QGLContext associated with this function
- resolver is current.
-
- \sa hasOpenGLFeature()
-*/
-QOpenGLFunctions::OpenGLFeatures QOpenGLFunctions::openGLFeatures() const
-{
- QOpenGLFunctionsPrivateEx *d = static_cast<QOpenGLFunctionsPrivateEx *>(d_ptr);
- if (!d)
- return 0;
- if (d->m_features == -1)
- d->m_features = qt_gl_resolve_features();
- return QOpenGLFunctions::OpenGLFeatures(d->m_features);
-}
-
-/*!
- Returns true if \a feature is present on this system's OpenGL
- implementation; false otherwise.
-
- It is assumed that the QGLContext associated with this function
- resolver is current.
-
- \sa openGLFeatures()
-*/
-bool QOpenGLFunctions::hasOpenGLFeature(QOpenGLFunctions::OpenGLFeature feature) const
-{
- QOpenGLFunctionsPrivateEx *d = static_cast<QOpenGLFunctionsPrivateEx *>(d_ptr);
- if (!d)
- return false;
- if (d->m_features == -1)
- d->m_features = qt_gl_resolve_features();
- return (d->m_features & int(feature)) != 0;
-}
-
-/*!
- Initializes GL function resolution for \a context. If \a context
- is null, then the current QGLContext will be used.
-
- After calling this function, the QOpenGLFunctions object can only be
- used with \a context and other contexts that share with it.
- Call initializeGLFunctions() again to change the object's context
- association.
-*/
-void QOpenGLFunctions::initializeGLFunctions(const QGLContext *context)
-{
- d_ptr = qt_gl_functions(context);
-}
-
-
-/*!
- \fn void QOpenGLFunctions::glActiveTexture(GLenum texture)
-
- Convenience function that calls glActiveTexture(\a texture).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glActiveTexture.xml}{glActiveTexture()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glAttachShader(GLuint program, GLuint shader)
-
- Convenience function that calls glAttachShader(\a program, \a shader).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glAttachShader.xml}{glAttachShader()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glBindAttribLocation(GLuint program, GLuint index, const char* name)
-
- Convenience function that calls glBindAttribLocation(\a program, \a index, \a name).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glBindAttribLocation.xml}{glBindAttribLocation()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glBindBuffer(GLenum target, GLuint buffer)
-
- Convenience function that calls glBindBuffer(\a target, \a buffer).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glBindBuffer.xml}{glBindBuffer()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glBindFramebuffer(GLenum target, GLuint framebuffer)
-
- Convenience function that calls glBindFramebuffer(\a target, \a framebuffer).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glBindFramebuffer.xml}{glBindFramebuffer()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
-
- Convenience function that calls glBindRenderbuffer(\a target, \a renderbuffer).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glBindRenderbuffer.xml}{glBindRenderbuffer()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
-
- Convenience function that calls glBlendColor(\a red, \a green, \a blue, \a alpha).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendColor.xml}{glBlendColor()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glBlendEquation(GLenum mode)
-
- Convenience function that calls glBlendEquation(\a mode).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendEquation.xml}{glBlendEquation()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
-
- Convenience function that calls glBlendEquationSeparate(\a modeRGB, \a modeAlpha).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendEquationSeparate.xml}{glBlendEquationSeparate()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
-
- Convenience function that calls glBlendFuncSeparate(\a srcRGB, \a dstRGB, \a srcAlpha, \a dstAlpha).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendFuncSeparate.xml}{glBlendFuncSeparate()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glBufferData(GLenum target, qgl_GLsizeiptr size, const void* data, GLenum usage)
-
- Convenience function that calls glBufferData(\a target, \a size, \a data, \a usage).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glBufferData.xml}{glBufferData()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glBufferSubData(GLenum target, qgl_GLintptr offset, qgl_GLsizeiptr size, const void* data)
-
- Convenience function that calls glBufferSubData(\a target, \a offset, \a size, \a data).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glBufferSubData.xml}{glBufferSubData()}.
-*/
-
-/*!
- \fn GLenum QOpenGLFunctions::glCheckFramebufferStatus(GLenum target)
-
- Convenience function that calls glCheckFramebufferStatus(\a target).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glCheckFramebufferStatus.xml}{glCheckFramebufferStatus()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glClearDepthf(GLclampf depth)
-
- Convenience function that calls glClearDepth(\a depth) on
- desktop OpenGL systems and glClearDepthf(\a depth) on
- embedded OpenGL/ES systems.
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glClearDepthf.xml}{glClearDepthf()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glCompileShader(GLuint shader)
-
- Convenience function that calls glCompileShader(\a shader).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glCompileShader.xml}{glCompileShader()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)
-
- Convenience function that calls glCompressedTexImage2D(\a target, \a level, \a internalformat, \a width, \a height, \a border, \a imageSize, \a data).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glCompressedTexImage2D.xml}{glCompressedTexImage2D()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data)
-
- Convenience function that calls glCompressedTexSubImage2D(\a target, \a level, \a xoffset, \a yoffset, \a width, \a height, \a format, \a imageSize, \a data).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glCompressedTexSubImage2D.xml}{glCompressedTexSubImage2D()}.
-*/
-
-/*!
- \fn GLuint QOpenGLFunctions::glCreateProgram()
-
- Convenience function that calls glCreateProgram().
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glCreateProgram.xml}{glCreateProgram()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn GLuint QOpenGLFunctions::glCreateShader(GLenum type)
-
- Convenience function that calls glCreateShader(\a type).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glCreateShader.xml}{glCreateShader()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glDeleteBuffers(GLsizei n, const GLuint* buffers)
-
- Convenience function that calls glDeleteBuffers(\a n, \a buffers).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteBuffers.xml}{glDeleteBuffers()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)
-
- Convenience function that calls glDeleteFramebuffers(\a n, \a framebuffers).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteFramebuffers.xml}{glDeleteFramebuffers()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glDeleteProgram(GLuint program)
-
- Convenience function that calls glDeleteProgram(\a program).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteProgram.xml}{glDeleteProgram()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)
-
- Convenience function that calls glDeleteRenderbuffers(\a n, \a renderbuffers).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteRenderbuffers.xml}{glDeleteRenderbuffers()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glDeleteShader(GLuint shader)
-
- Convenience function that calls glDeleteShader(\a shader).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteShader.xml}{glDeleteShader()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glDepthRangef(GLclampf zNear, GLclampf zFar)
-
- Convenience function that calls glDepthRange(\a zNear, \a zFar) on
- desktop OpenGL systems and glDepthRangef(\a zNear, \a zFar) on
- embedded OpenGL/ES systems.
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glDepthRangef.xml}{glDepthRangef()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glDetachShader(GLuint program, GLuint shader)
-
- Convenience function that calls glDetachShader(\a program, \a shader).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glDetachShader.xml}{glDetachShader()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glDisableVertexAttribArray(GLuint index)
-
- Convenience function that calls glDisableVertexAttribArray(\a index).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glDisableVertexAttribArray.xml}{glDisableVertexAttribArray()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glEnableVertexAttribArray(GLuint index)
-
- Convenience function that calls glEnableVertexAttribArray(\a index).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glEnableVertexAttribArray.xml}{glEnableVertexAttribArray()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
-
- Convenience function that calls glFramebufferRenderbuffer(\a target, \a attachment, \a renderbuffertarget, \a renderbuffer).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glFramebufferRenderbuffer.xml}{glFramebufferRenderbuffer()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
-
- Convenience function that calls glFramebufferTexture2D(\a target, \a attachment, \a textarget, \a texture, \a level).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glFramebufferTexture2D.xml}{glFramebufferTexture2D()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGenBuffers(GLsizei n, GLuint* buffers)
-
- Convenience function that calls glGenBuffers(\a n, \a buffers).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGenBuffers.xml}{glGenBuffers()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGenerateMipmap(GLenum target)
-
- Convenience function that calls glGenerateMipmap(\a target).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGenerateMipmap.xml}{glGenerateMipmap()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGenFramebuffers(GLsizei n, GLuint* framebuffers)
-
- Convenience function that calls glGenFramebuffers(\a n, \a framebuffers).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGenFramebuffers.xml}{glGenFramebuffers()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
-
- Convenience function that calls glGenRenderbuffers(\a n, \a renderbuffers).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGenRenderbuffers.xml}{glGenRenderbuffers()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
-
- Convenience function that calls glGetActiveAttrib(\a program, \a index, \a bufsize, \a length, \a size, \a type, \a name).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetActiveAttrib.xml}{glGetActiveAttrib()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
-
- Convenience function that calls glGetActiveUniform(\a program, \a index, \a bufsize, \a length, \a size, \a type, \a name).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetActiveUniform.xml}{glGetActiveUniform()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
-
- Convenience function that calls glGetAttachedShaders(\a program, \a maxcount, \a count, \a shaders).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetAttachedShaders.xml}{glGetAttachedShaders()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn int QOpenGLFunctions::glGetAttribLocation(GLuint program, const char* name)
-
- Convenience function that calls glGetAttribLocation(\a program, \a name).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetAttribLocation.xml}{glGetAttribLocation()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
-
- Convenience function that calls glGetBufferParameteriv(\a target, \a pname, \a params).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetBufferParameteriv.xml}{glGetBufferParameteriv()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)
-
- Convenience function that calls glGetFramebufferAttachmentParameteriv(\a target, \a attachment, \a pname, \a params).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetFramebufferAttachmentParameteriv.xml}{glGetFramebufferAttachmentParameteriv()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetProgramiv(GLuint program, GLenum pname, GLint* params)
-
- Convenience function that calls glGetProgramiv(\a program, \a pname, \a params).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetProgramiv.xml}{glGetProgramiv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog)
-
- Convenience function that calls glGetProgramInfoLog(\a program, \a bufsize, \a length, \a infolog).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetProgramInfoLog.xml}{glGetProgramInfoLog()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)
-
- Convenience function that calls glGetRenderbufferParameteriv(\a target, \a pname, \a params).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetRenderbufferParameteriv.xml}{glGetRenderbufferParameteriv()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetShaderiv(GLuint shader, GLenum pname, GLint* params)
-
- Convenience function that calls glGetShaderiv(\a shader, \a pname, \a params).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderiv.xml}{glGetShaderiv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog)
-
- Convenience function that calls glGetShaderInfoLog(\a shader, \a bufsize, \a length, \a infolog).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderInfoLog.xml}{glGetShaderInfoLog()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
-
- Convenience function that calls glGetShaderPrecisionFormat(\a shadertype, \a precisiontype, \a range, \a precision).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderPrecisionFormat.xml}{glGetShaderPrecisionFormat()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, char* source)
-
- Convenience function that calls glGetShaderSource(\a shader, \a bufsize, \a length, \a source).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderSource.xml}{glGetShaderSource()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetUniformfv(GLuint program, GLint location, GLfloat* params)
-
- Convenience function that calls glGetUniformfv(\a program, \a location, \a params).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetUniformfv.xml}{glGetUniformfv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetUniformiv(GLuint program, GLint location, GLint* params)
-
- Convenience function that calls glGetUniformiv(\a program, \a location, \a params).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetUniformiv.xml}{glGetUniformiv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn int QOpenGLFunctions::glGetUniformLocation(GLuint program, const char* name)
-
- Convenience function that calls glGetUniformLocation(\a program, \a name).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetUniformLocation.xml}{glGetUniformLocation()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)
-
- Convenience function that calls glGetVertexAttribfv(\a index, \a pname, \a params).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetVertexAttribfv.xml}{glGetVertexAttribfv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)
-
- Convenience function that calls glGetVertexAttribiv(\a index, \a pname, \a params).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetVertexAttribiv.xml}{glGetVertexAttribiv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glGetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer)
-
- Convenience function that calls glGetVertexAttribPointerv(\a index, \a pname, \a pointer).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glGetVertexAttribPointerv.xml}{glGetVertexAttribPointerv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn GLboolean QOpenGLFunctions::glIsBuffer(GLuint buffer)
-
- Convenience function that calls glIsBuffer(\a buffer).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glIsBuffer.xml}{glIsBuffer()}.
-*/
-
-/*!
- \fn GLboolean QOpenGLFunctions::glIsFramebuffer(GLuint framebuffer)
-
- Convenience function that calls glIsFramebuffer(\a framebuffer).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glIsFramebuffer.xml}{glIsFramebuffer()}.
-*/
-
-/*!
- \fn GLboolean QOpenGLFunctions::glIsProgram(GLuint program)
-
- Convenience function that calls glIsProgram(\a program).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glIsProgram.xml}{glIsProgram()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn GLboolean QOpenGLFunctions::glIsRenderbuffer(GLuint renderbuffer)
-
- Convenience function that calls glIsRenderbuffer(\a renderbuffer).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glIsRenderbuffer.xml}{glIsRenderbuffer()}.
-*/
-
-/*!
- \fn GLboolean QOpenGLFunctions::glIsShader(GLuint shader)
-
- Convenience function that calls glIsShader(\a shader).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glIsShader.xml}{glIsShader()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glLinkProgram(GLuint program)
-
- Convenience function that calls glLinkProgram(\a program).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glLinkProgram.xml}{glLinkProgram()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glReleaseShaderCompiler()
-
- Convenience function that calls glReleaseShaderCompiler().
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glReleaseShaderCompiler.xml}{glReleaseShaderCompiler()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
-
- Convenience function that calls glRenderbufferStorage(\a target, \a internalformat, \a width, \a height).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glRenderbufferStorage.xml}{glRenderbufferStorage()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glSampleCoverage(GLclampf value, GLboolean invert)
-
- Convenience function that calls glSampleCoverage(\a value, \a invert).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glSampleCoverage.xml}{glSampleCoverage()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length)
-
- Convenience function that calls glShaderBinary(\a n, \a shaders, \a binaryformat, \a binary, \a length).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glShaderBinary.xml}{glShaderBinary()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glShaderSource(GLuint shader, GLsizei count, const char** string, const GLint* length)
-
- Convenience function that calls glShaderSource(\a shader, \a count, \a string, \a length).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glShaderSource.xml}{glShaderSource()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
-
- Convenience function that calls glStencilFuncSeparate(\a face, \a func, \a ref, \a mask).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilFuncSeparate.xml}{glStencilFuncSeparate()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glStencilMaskSeparate(GLenum face, GLuint mask)
-
- Convenience function that calls glStencilMaskSeparate(\a face, \a mask).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilMaskSeparate.xml}{glStencilMaskSeparate()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
-
- Convenience function that calls glStencilOpSeparate(\a face, \a fail, \a zfail, \a zpass).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilOpSeparate.xml}{glStencilOpSeparate()}.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform1f(GLint location, GLfloat x)
-
- Convenience function that calls glUniform1f(\a location, \a x).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1f.xml}{glUniform1f()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform1fv(GLint location, GLsizei count, const GLfloat* v)
-
- Convenience function that calls glUniform1fv(\a location, \a count, \a v).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1fv.xml}{glUniform1fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform1i(GLint location, GLint x)
-
- Convenience function that calls glUniform1i(\a location, \a x).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1i.xml}{glUniform1i()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform1iv(GLint location, GLsizei count, const GLint* v)
-
- Convenience function that calls glUniform1iv(\a location, \a count, \a v).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1iv.xml}{glUniform1iv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform2f(GLint location, GLfloat x, GLfloat y)
-
- Convenience function that calls glUniform2f(\a location, \a x, \a y).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2f.xml}{glUniform2f()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform2fv(GLint location, GLsizei count, const GLfloat* v)
-
- Convenience function that calls glUniform2fv(\a location, \a count, \a v).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2fv.xml}{glUniform2fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform2i(GLint location, GLint x, GLint y)
-
- Convenience function that calls glUniform2i(\a location, \a x, \a y).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2i.xml}{glUniform2i()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform2iv(GLint location, GLsizei count, const GLint* v)
-
- Convenience function that calls glUniform2iv(\a location, \a count, \a v).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2iv.xml}{glUniform2iv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)
-
- Convenience function that calls glUniform3f(\a location, \a x, \a y, \a z).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3f.xml}{glUniform3f()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform3fv(GLint location, GLsizei count, const GLfloat* v)
-
- Convenience function that calls glUniform3fv(\a location, \a count, \a v).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3fv.xml}{glUniform3fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform3i(GLint location, GLint x, GLint y, GLint z)
-
- Convenience function that calls glUniform3i(\a location, \a x, \a y, \a z).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3i.xml}{glUniform3i()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform3iv(GLint location, GLsizei count, const GLint* v)
-
- Convenience function that calls glUniform3iv(\a location, \a count, \a v).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3iv.xml}{glUniform3iv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-
- Convenience function that calls glUniform4f(\a location, \a x, \a y, \a z, \a w).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4f.xml}{glUniform4f()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform4fv(GLint location, GLsizei count, const GLfloat* v)
-
- Convenience function that calls glUniform4fv(\a location, \a count, \a v).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4fv.xml}{glUniform4fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)
-
- Convenience function that calls glUniform4i(\a location, \a x, \a y, \a z, \a w).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4i.xml}{glUniform4i()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniform4iv(GLint location, GLsizei count, const GLint* v)
-
- Convenience function that calls glUniform4iv(\a location, \a count, \a v).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4iv.xml}{glUniform4iv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-
- Convenience function that calls glUniformMatrix2fv(\a location, \a count, \a transpose, \a value).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniformMatrix2fv.xml}{glUniformMatrix2fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-
- Convenience function that calls glUniformMatrix3fv(\a location, \a count, \a transpose, \a value).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniformMatrix3fv.xml}{glUniformMatrix3fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-
- Convenience function that calls glUniformMatrix4fv(\a location, \a count, \a transpose, \a value).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUniformMatrix4fv.xml}{glUniformMatrix4fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glUseProgram(GLuint program)
-
- Convenience function that calls glUseProgram(\a program).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glUseProgram.xml}{glUseProgram()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glValidateProgram(GLuint program)
-
- Convenience function that calls glValidateProgram(\a program).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glValidateProgram.xml}{glValidateProgram()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glVertexAttrib1f(GLuint indx, GLfloat x)
-
- Convenience function that calls glVertexAttrib1f(\a indx, \a x).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib1f.xml}{glVertexAttrib1f()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glVertexAttrib1fv(GLuint indx, const GLfloat* values)
-
- Convenience function that calls glVertexAttrib1fv(\a indx, \a values).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib1fv.xml}{glVertexAttrib1fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y)
-
- Convenience function that calls glVertexAttrib2f(\a indx, \a x, \a y).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib2f.xml}{glVertexAttrib2f()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glVertexAttrib2fv(GLuint indx, const GLfloat* values)
-
- Convenience function that calls glVertexAttrib2fv(\a indx, \a values).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib2fv.xml}{glVertexAttrib2fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z)
-
- Convenience function that calls glVertexAttrib3f(\a indx, \a x, \a y, \a z).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib3f.xml}{glVertexAttrib3f()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glVertexAttrib3fv(GLuint indx, const GLfloat* values)
-
- Convenience function that calls glVertexAttrib3fv(\a indx, \a values).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib3fv.xml}{glVertexAttrib3fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-
- Convenience function that calls glVertexAttrib4f(\a indx, \a x, \a y, \a z, \a w).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib4f.xml}{glVertexAttrib4f()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glVertexAttrib4fv(GLuint indx, const GLfloat* values)
-
- Convenience function that calls glVertexAttrib4fv(\a indx, \a values).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib4fv.xml}{glVertexAttrib4fv()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-/*!
- \fn void QOpenGLFunctions::glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr)
-
- Convenience function that calls glVertexAttribPointer(\a indx, \a size, \a type, \a normalized, \a stride, \a ptr).
-
- For more information, see the OpenGL/ES 2.0 documentation for
- \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttribPointer.xml}{glVertexAttribPointer()}.
-
- This convenience function will do nothing on OpenGL/ES 1.x systems.
-*/
-
-#ifndef QT_OPENGL_ES_2
-
-static void QT3D_GLF_APIENTRY qglfResolveActiveTexture(GLenum texture)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glActiveTexture)(GLenum texture);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->activeTexture = (type_glActiveTexture)
- context->getProcAddress(QLatin1String("glActiveTexture"));
- if (!funcs->activeTexture) {
- funcs->activeTexture = (type_glActiveTexture)
- context->getProcAddress(QLatin1String("glActiveTextureARB"));
- }
-
- if (funcs->activeTexture)
- funcs->activeTexture(texture);
- else
- funcs->activeTexture = qglfResolveActiveTexture;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveAttachShader(GLuint program, GLuint shader)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glAttachShader)(GLuint program, GLuint shader);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->attachShader = (type_glAttachShader)
- context->getProcAddress(QLatin1String("glAttachShader"));
- if (!funcs->attachShader) {
- funcs->attachShader = (type_glAttachShader)
- context->getProcAddress(QLatin1String("glAttachObjectARB"));
- }
-
- if (funcs->attachShader)
- funcs->attachShader(program, shader);
- else
- funcs->attachShader = qglfResolveAttachShader;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveBindAttribLocation(GLuint program, GLuint index, const char* name)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glBindAttribLocation)(GLuint program, GLuint index, const char* name);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->bindAttribLocation = (type_glBindAttribLocation)
- context->getProcAddress(QLatin1String("glBindAttribLocation"));
- if (!funcs->bindAttribLocation) {
- funcs->bindAttribLocation = (type_glBindAttribLocation)
- context->getProcAddress(QLatin1String("glBindAttribLocationARB"));
- }
-
- if (funcs->bindAttribLocation)
- funcs->bindAttribLocation(program, index, name);
- else
- funcs->bindAttribLocation = qglfResolveBindAttribLocation;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveBindBuffer(GLenum target, GLuint buffer)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glBindBuffer)(GLenum target, GLuint buffer);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->bindBuffer = (type_glBindBuffer)
- context->getProcAddress(QLatin1String("glBindBuffer"));
-#ifdef QT_OPENGL_ES
- if (!funcs->bindBuffer) {
- funcs->bindBuffer = (type_glBindBuffer)
- context->getProcAddress(QLatin1String("glBindBufferOES"));
- }
-#endif
- if (!funcs->bindBuffer) {
- funcs->bindBuffer = (type_glBindBuffer)
- context->getProcAddress(QLatin1String("glBindBufferEXT"));
- }
- if (!funcs->bindBuffer) {
- funcs->bindBuffer = (type_glBindBuffer)
- context->getProcAddress(QLatin1String("glBindBufferARB"));
- }
-
- if (funcs->bindBuffer)
- funcs->bindBuffer(target, buffer);
- else
- funcs->bindBuffer = qglfResolveBindBuffer;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveBindFramebuffer(GLenum target, GLuint framebuffer)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glBindFramebuffer)(GLenum target, GLuint framebuffer);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->bindFramebuffer = (type_glBindFramebuffer)
- context->getProcAddress(QLatin1String("glBindFramebuffer"));
-#ifdef QT_OPENGL_ES
- if (!funcs->bindFramebuffer) {
- funcs->bindFramebuffer = (type_glBindFramebuffer)
- context->getProcAddress(QLatin1String("glBindFramebufferOES"));
- }
-#endif
- if (!funcs->bindFramebuffer) {
- funcs->bindFramebuffer = (type_glBindFramebuffer)
- context->getProcAddress(QLatin1String("glBindFramebufferEXT"));
- }
- if (!funcs->bindFramebuffer) {
- funcs->bindFramebuffer = (type_glBindFramebuffer)
- context->getProcAddress(QLatin1String("glBindFramebufferARB"));
- }
-
- if (funcs->bindFramebuffer)
- funcs->bindFramebuffer(target, framebuffer);
- else
- funcs->bindFramebuffer = qglfResolveBindFramebuffer;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveBindRenderbuffer(GLenum target, GLuint renderbuffer)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glBindRenderbuffer)(GLenum target, GLuint renderbuffer);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->bindRenderbuffer = (type_glBindRenderbuffer)
- context->getProcAddress(QLatin1String("glBindRenderbuffer"));
-#ifdef QT_OPENGL_ES
- if (!funcs->bindRenderbuffer) {
- funcs->bindRenderbuffer = (type_glBindRenderbuffer)
- context->getProcAddress(QLatin1String("glBindRenderbufferOES"));
- }
-#endif
- if (!funcs->bindRenderbuffer) {
- funcs->bindRenderbuffer = (type_glBindRenderbuffer)
- context->getProcAddress(QLatin1String("glBindRenderbufferEXT"));
- }
- if (!funcs->bindRenderbuffer) {
- funcs->bindRenderbuffer = (type_glBindRenderbuffer)
- context->getProcAddress(QLatin1String("glBindRenderbufferARB"));
- }
-
- if (funcs->bindRenderbuffer)
- funcs->bindRenderbuffer(target, renderbuffer);
- else
- funcs->bindRenderbuffer = qglfResolveBindRenderbuffer;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glBlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->blendColor = (type_glBlendColor)
- context->getProcAddress(QLatin1String("glBlendColor"));
-#ifdef QT_OPENGL_ES
- if (!funcs->blendColor) {
- funcs->blendColor = (type_glBlendColor)
- context->getProcAddress(QLatin1String("glBlendColorOES"));
- }
-#endif
- if (!funcs->blendColor) {
- funcs->blendColor = (type_glBlendColor)
- context->getProcAddress(QLatin1String("glBlendColorEXT"));
- }
- if (!funcs->blendColor) {
- funcs->blendColor = (type_glBlendColor)
- context->getProcAddress(QLatin1String("glBlendColorARB"));
- }
-
- if (funcs->blendColor)
- funcs->blendColor(red, green, blue, alpha);
- else
- funcs->blendColor = qglfResolveBlendColor;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveBlendEquation(GLenum mode)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glBlendEquation)(GLenum mode);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->blendEquation = (type_glBlendEquation)
- context->getProcAddress(QLatin1String("glBlendEquation"));
-#ifdef QT_OPENGL_ES
- if (!funcs->blendEquation) {
- funcs->blendEquation = (type_glBlendEquation)
- context->getProcAddress(QLatin1String("glBlendEquationOES"));
- }
-#endif
- if (!funcs->blendEquation) {
- funcs->blendEquation = (type_glBlendEquation)
- context->getProcAddress(QLatin1String("glBlendEquationEXT"));
- }
- if (!funcs->blendEquation) {
- funcs->blendEquation = (type_glBlendEquation)
- context->getProcAddress(QLatin1String("glBlendEquationARB"));
- }
-
- if (funcs->blendEquation)
- funcs->blendEquation(mode);
- else
- funcs->blendEquation = qglfResolveBlendEquation;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glBlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->blendEquationSeparate = (type_glBlendEquationSeparate)
- context->getProcAddress(QLatin1String("glBlendEquationSeparate"));
-#ifdef QT_OPENGL_ES
- if (!funcs->blendEquationSeparate) {
- funcs->blendEquationSeparate = (type_glBlendEquationSeparate)
- context->getProcAddress(QLatin1String("glBlendEquationSeparateOES"));
- }
-#endif
- if (!funcs->blendEquationSeparate) {
- funcs->blendEquationSeparate = (type_glBlendEquationSeparate)
- context->getProcAddress(QLatin1String("glBlendEquationSeparateEXT"));
- }
- if (!funcs->blendEquationSeparate) {
- funcs->blendEquationSeparate = (type_glBlendEquationSeparate)
- context->getProcAddress(QLatin1String("glBlendEquationSeparateARB"));
- }
-
- if (funcs->blendEquationSeparate)
- funcs->blendEquationSeparate(modeRGB, modeAlpha);
- else
- funcs->blendEquationSeparate = qglfResolveBlendEquationSeparate;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glBlendFuncSeparate)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->blendFuncSeparate = (type_glBlendFuncSeparate)
- context->getProcAddress(QLatin1String("glBlendFuncSeparate"));
-#ifdef QT_OPENGL_ES
- if (!funcs->blendFuncSeparate) {
- funcs->blendFuncSeparate = (type_glBlendFuncSeparate)
- context->getProcAddress(QLatin1String("glBlendFuncSeparateOES"));
- }
-#endif
- if (!funcs->blendFuncSeparate) {
- funcs->blendFuncSeparate = (type_glBlendFuncSeparate)
- context->getProcAddress(QLatin1String("glBlendFuncSeparateEXT"));
- }
- if (!funcs->blendFuncSeparate) {
- funcs->blendFuncSeparate = (type_glBlendFuncSeparate)
- context->getProcAddress(QLatin1String("glBlendFuncSeparateARB"));
- }
-
- if (funcs->blendFuncSeparate)
- funcs->blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
- else
- funcs->blendFuncSeparate = qglfResolveBlendFuncSeparate;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveBufferData(GLenum target, qgl_GLsizeiptr size, const void* data, GLenum usage)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glBufferData)(GLenum target, qgl_GLsizeiptr size, const void* data, GLenum usage);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->bufferData = (type_glBufferData)
- context->getProcAddress(QLatin1String("glBufferData"));
-#ifdef QT_OPENGL_ES
- if (!funcs->bufferData) {
- funcs->bufferData = (type_glBufferData)
- context->getProcAddress(QLatin1String("glBufferDataOES"));
- }
-#endif
- if (!funcs->bufferData) {
- funcs->bufferData = (type_glBufferData)
- context->getProcAddress(QLatin1String("glBufferDataEXT"));
- }
- if (!funcs->bufferData) {
- funcs->bufferData = (type_glBufferData)
- context->getProcAddress(QLatin1String("glBufferDataARB"));
- }
-
- if (funcs->bufferData)
- funcs->bufferData(target, size, data, usage);
- else
- funcs->bufferData = qglfResolveBufferData;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveBufferSubData(GLenum target, qgl_GLintptr offset, qgl_GLsizeiptr size, const void* data)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glBufferSubData)(GLenum target, qgl_GLintptr offset, qgl_GLsizeiptr size, const void* data);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->bufferSubData = (type_glBufferSubData)
- context->getProcAddress(QLatin1String("glBufferSubData"));
-#ifdef QT_OPENGL_ES
- if (!funcs->bufferSubData) {
- funcs->bufferSubData = (type_glBufferSubData)
- context->getProcAddress(QLatin1String("glBufferSubDataOES"));
- }
-#endif
- if (!funcs->bufferSubData) {
- funcs->bufferSubData = (type_glBufferSubData)
- context->getProcAddress(QLatin1String("glBufferSubDataEXT"));
- }
- if (!funcs->bufferSubData) {
- funcs->bufferSubData = (type_glBufferSubData)
- context->getProcAddress(QLatin1String("glBufferSubDataARB"));
- }
-
- if (funcs->bufferSubData)
- funcs->bufferSubData(target, offset, size, data);
- else
- funcs->bufferSubData = qglfResolveBufferSubData;
-}
-
-static GLenum QT3D_GLF_APIENTRY qglfResolveCheckFramebufferStatus(GLenum target)
-{
- typedef GLenum (QT3D_GLF_APIENTRYP type_glCheckFramebufferStatus)(GLenum target);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->checkFramebufferStatus = (type_glCheckFramebufferStatus)
- context->getProcAddress(QLatin1String("glCheckFramebufferStatus"));
-#ifdef QT_OPENGL_ES
- if (!funcs->checkFramebufferStatus) {
- funcs->checkFramebufferStatus = (type_glCheckFramebufferStatus)
- context->getProcAddress(QLatin1String("glCheckFramebufferStatusOES"));
- }
-#endif
- if (!funcs->checkFramebufferStatus) {
- funcs->checkFramebufferStatus = (type_glCheckFramebufferStatus)
- context->getProcAddress(QLatin1String("glCheckFramebufferStatusEXT"));
- }
- if (!funcs->checkFramebufferStatus) {
- funcs->checkFramebufferStatus = (type_glCheckFramebufferStatus)
- context->getProcAddress(QLatin1String("glCheckFramebufferStatusARB"));
- }
-
- if (funcs->checkFramebufferStatus)
- return funcs->checkFramebufferStatus(target);
- funcs->checkFramebufferStatus = qglfResolveCheckFramebufferStatus;
- return GLenum(0);
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveCompileShader(GLuint shader)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glCompileShader)(GLuint shader);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->compileShader = (type_glCompileShader)
- context->getProcAddress(QLatin1String("glCompileShader"));
- if (!funcs->compileShader) {
- funcs->compileShader = (type_glCompileShader)
- context->getProcAddress(QLatin1String("glCompileShader"));
- }
-
- if (funcs->compileShader)
- funcs->compileShader(shader);
- else
- funcs->compileShader = qglfResolveCompileShader;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->compressedTexImage2D = (type_glCompressedTexImage2D)
- context->getProcAddress(QLatin1String("glCompressedTexImage2D"));
-#ifdef QT_OPENGL_ES
- if (!funcs->compressedTexImage2D) {
- funcs->compressedTexImage2D = (type_glCompressedTexImage2D)
- context->getProcAddress(QLatin1String("glCompressedTexImage2DOES"));
- }
-#endif
- if (!funcs->compressedTexImage2D) {
- funcs->compressedTexImage2D = (type_glCompressedTexImage2D)
- context->getProcAddress(QLatin1String("glCompressedTexImage2DEXT"));
- }
- if (!funcs->compressedTexImage2D) {
- funcs->compressedTexImage2D = (type_glCompressedTexImage2D)
- context->getProcAddress(QLatin1String("glCompressedTexImage2DARB"));
- }
-
- if (funcs->compressedTexImage2D)
- funcs->compressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
- else
- funcs->compressedTexImage2D = qglfResolveCompressedTexImage2D;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glCompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->compressedTexSubImage2D = (type_glCompressedTexSubImage2D)
- context->getProcAddress(QLatin1String("glCompressedTexSubImage2D"));
-#ifdef QT_OPENGL_ES
- if (!funcs->compressedTexSubImage2D) {
- funcs->compressedTexSubImage2D = (type_glCompressedTexSubImage2D)
- context->getProcAddress(QLatin1String("glCompressedTexSubImage2DOES"));
- }
-#endif
- if (!funcs->compressedTexSubImage2D) {
- funcs->compressedTexSubImage2D = (type_glCompressedTexSubImage2D)
- context->getProcAddress(QLatin1String("glCompressedTexSubImage2DEXT"));
- }
- if (!funcs->compressedTexSubImage2D) {
- funcs->compressedTexSubImage2D = (type_glCompressedTexSubImage2D)
- context->getProcAddress(QLatin1String("glCompressedTexSubImage2DARB"));
- }
-
- if (funcs->compressedTexSubImage2D)
- funcs->compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
- else
- funcs->compressedTexSubImage2D = qglfResolveCompressedTexSubImage2D;
-}
-
-static GLuint QT3D_GLF_APIENTRY qglfResolveCreateProgram()
-{
- typedef GLuint (QT3D_GLF_APIENTRYP type_glCreateProgram)();
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->createProgram = (type_glCreateProgram)
- context->getProcAddress(QLatin1String("glCreateProgram"));
- if (!funcs->createProgram) {
- funcs->createProgram = (type_glCreateProgram)
- context->getProcAddress(QLatin1String("glCreateProgramObjectARB"));
- }
-
- if (funcs->createProgram)
- return funcs->createProgram();
- funcs->createProgram = qglfResolveCreateProgram;
- return GLuint(0);
-}
-
-static GLuint QT3D_GLF_APIENTRY qglfResolveCreateShader(GLenum type)
-{
- typedef GLuint (QT3D_GLF_APIENTRYP type_glCreateShader)(GLenum type);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->createShader = (type_glCreateShader)
- context->getProcAddress(QLatin1String("glCreateShader"));
- if (!funcs->createShader) {
- funcs->createShader = (type_glCreateShader)
- context->getProcAddress(QLatin1String("glCreateShaderObjectARB"));
- }
-
- if (funcs->createShader)
- return funcs->createShader(type);
- funcs->createShader = qglfResolveCreateShader;
- return GLuint(0);
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveDeleteBuffers(GLsizei n, const GLuint* buffers)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glDeleteBuffers)(GLsizei n, const GLuint* buffers);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->deleteBuffers = (type_glDeleteBuffers)
- context->getProcAddress(QLatin1String("glDeleteBuffers"));
-#ifdef QT_OPENGL_ES
- if (!funcs->deleteBuffers) {
- funcs->deleteBuffers = (type_glDeleteBuffers)
- context->getProcAddress(QLatin1String("glDeleteBuffersOES"));
- }
-#endif
- if (!funcs->deleteBuffers) {
- funcs->deleteBuffers = (type_glDeleteBuffers)
- context->getProcAddress(QLatin1String("glDeleteBuffersEXT"));
- }
- if (!funcs->deleteBuffers) {
- funcs->deleteBuffers = (type_glDeleteBuffers)
- context->getProcAddress(QLatin1String("glDeleteBuffersARB"));
- }
-
- if (funcs->deleteBuffers)
- funcs->deleteBuffers(n, buffers);
- else
- funcs->deleteBuffers = qglfResolveDeleteBuffers;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glDeleteFramebuffers)(GLsizei n, const GLuint* framebuffers);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->deleteFramebuffers = (type_glDeleteFramebuffers)
- context->getProcAddress(QLatin1String("glDeleteFramebuffers"));
-#ifdef QT_OPENGL_ES
- if (!funcs->deleteFramebuffers) {
- funcs->deleteFramebuffers = (type_glDeleteFramebuffers)
- context->getProcAddress(QLatin1String("glDeleteFramebuffersOES"));
- }
-#endif
- if (!funcs->deleteFramebuffers) {
- funcs->deleteFramebuffers = (type_glDeleteFramebuffers)
- context->getProcAddress(QLatin1String("glDeleteFramebuffersEXT"));
- }
- if (!funcs->deleteFramebuffers) {
- funcs->deleteFramebuffers = (type_glDeleteFramebuffers)
- context->getProcAddress(QLatin1String("glDeleteFramebuffersARB"));
- }
-
- if (funcs->deleteFramebuffers)
- funcs->deleteFramebuffers(n, framebuffers);
- else
- funcs->deleteFramebuffers = qglfResolveDeleteFramebuffers;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveDeleteProgram(GLuint program)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glDeleteProgram)(GLuint program);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->deleteProgram = (type_glDeleteProgram)
- context->getProcAddress(QLatin1String("glDeleteProgram"));
- if (!funcs->deleteProgram) {
- funcs->deleteProgram = (type_glDeleteProgram)
- context->getProcAddress(QLatin1String("glDeleteObjectARB"));
- }
-
- if (funcs->deleteProgram)
- funcs->deleteProgram(program);
- else
- funcs->deleteProgram = qglfResolveDeleteProgram;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glDeleteRenderbuffers)(GLsizei n, const GLuint* renderbuffers);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->deleteRenderbuffers = (type_glDeleteRenderbuffers)
- context->getProcAddress(QLatin1String("glDeleteRenderbuffers"));
-#ifdef QT_OPENGL_ES
- if (!funcs->deleteRenderbuffers) {
- funcs->deleteRenderbuffers = (type_glDeleteRenderbuffers)
- context->getProcAddress(QLatin1String("glDeleteRenderbuffersOES"));
- }
-#endif
- if (!funcs->deleteRenderbuffers) {
- funcs->deleteRenderbuffers = (type_glDeleteRenderbuffers)
- context->getProcAddress(QLatin1String("glDeleteRenderbuffersEXT"));
- }
- if (!funcs->deleteRenderbuffers) {
- funcs->deleteRenderbuffers = (type_glDeleteRenderbuffers)
- context->getProcAddress(QLatin1String("glDeleteRenderbuffersARB"));
- }
-
- if (funcs->deleteRenderbuffers)
- funcs->deleteRenderbuffers(n, renderbuffers);
- else
- funcs->deleteRenderbuffers = qglfResolveDeleteRenderbuffers;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveDeleteShader(GLuint shader)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glDeleteShader)(GLuint shader);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->deleteShader = (type_glDeleteShader)
- context->getProcAddress(QLatin1String("glDeleteShader"));
- if (!funcs->deleteShader) {
- funcs->deleteShader = (type_glDeleteShader)
- context->getProcAddress(QLatin1String("glDeleteObjectARB"));
- }
-
- if (funcs->deleteShader)
- funcs->deleteShader(shader);
- else
- funcs->deleteShader = qglfResolveDeleteShader;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveDetachShader(GLuint program, GLuint shader)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glDetachShader)(GLuint program, GLuint shader);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->detachShader = (type_glDetachShader)
- context->getProcAddress(QLatin1String("glDetachShader"));
- if (!funcs->detachShader) {
- funcs->detachShader = (type_glDetachShader)
- context->getProcAddress(QLatin1String("glDetachObjectARB"));
- }
-
- if (funcs->detachShader)
- funcs->detachShader(program, shader);
- else
- funcs->detachShader = qglfResolveDetachShader;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveDisableVertexAttribArray(GLuint index)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glDisableVertexAttribArray)(GLuint index);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->disableVertexAttribArray = (type_glDisableVertexAttribArray)
- context->getProcAddress(QLatin1String("glDisableVertexAttribArray"));
- if (!funcs->disableVertexAttribArray) {
- funcs->disableVertexAttribArray = (type_glDisableVertexAttribArray)
- context->getProcAddress(QLatin1String("glDisableVertexAttribArrayARB"));
- }
-
- if (funcs->disableVertexAttribArray)
- funcs->disableVertexAttribArray(index);
- else
- funcs->disableVertexAttribArray = qglfResolveDisableVertexAttribArray;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveEnableVertexAttribArray(GLuint index)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glEnableVertexAttribArray)(GLuint index);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->enableVertexAttribArray = (type_glEnableVertexAttribArray)
- context->getProcAddress(QLatin1String("glEnableVertexAttribArray"));
- if (!funcs->enableVertexAttribArray) {
- funcs->enableVertexAttribArray = (type_glEnableVertexAttribArray)
- context->getProcAddress(QLatin1String("glEnableVertexAttribArrayARB"));
- }
-
- if (funcs->enableVertexAttribArray)
- funcs->enableVertexAttribArray(index);
- else
- funcs->enableVertexAttribArray = qglfResolveEnableVertexAttribArray;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glFramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->framebufferRenderbuffer = (type_glFramebufferRenderbuffer)
- context->getProcAddress(QLatin1String("glFramebufferRenderbuffer"));
-#ifdef QT_OPENGL_ES
- if (!funcs->framebufferRenderbuffer) {
- funcs->framebufferRenderbuffer = (type_glFramebufferRenderbuffer)
- context->getProcAddress(QLatin1String("glFramebufferRenderbufferOES"));
- }
-#endif
- if (!funcs->framebufferRenderbuffer) {
- funcs->framebufferRenderbuffer = (type_glFramebufferRenderbuffer)
- context->getProcAddress(QLatin1String("glFramebufferRenderbufferEXT"));
- }
- if (!funcs->framebufferRenderbuffer) {
- funcs->framebufferRenderbuffer = (type_glFramebufferRenderbuffer)
- context->getProcAddress(QLatin1String("glFramebufferRenderbufferARB"));
- }
-
- if (funcs->framebufferRenderbuffer)
- funcs->framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
- else
- funcs->framebufferRenderbuffer = qglfResolveFramebufferRenderbuffer;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glFramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->framebufferTexture2D = (type_glFramebufferTexture2D)
- context->getProcAddress(QLatin1String("glFramebufferTexture2D"));
-#ifdef QT_OPENGL_ES
- if (!funcs->framebufferTexture2D) {
- funcs->framebufferTexture2D = (type_glFramebufferTexture2D)
- context->getProcAddress(QLatin1String("glFramebufferTexture2DOES"));
- }
-#endif
- if (!funcs->framebufferTexture2D) {
- funcs->framebufferTexture2D = (type_glFramebufferTexture2D)
- context->getProcAddress(QLatin1String("glFramebufferTexture2DEXT"));
- }
- if (!funcs->framebufferTexture2D) {
- funcs->framebufferTexture2D = (type_glFramebufferTexture2D)
- context->getProcAddress(QLatin1String("glFramebufferTexture2DARB"));
- }
-
- if (funcs->framebufferTexture2D)
- funcs->framebufferTexture2D(target, attachment, textarget, texture, level);
- else
- funcs->framebufferTexture2D = qglfResolveFramebufferTexture2D;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGenBuffers(GLsizei n, GLuint* buffers)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGenBuffers)(GLsizei n, GLuint* buffers);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->genBuffers = (type_glGenBuffers)
- context->getProcAddress(QLatin1String("glGenBuffers"));
-#ifdef QT_OPENGL_ES
- if (!funcs->genBuffers) {
- funcs->genBuffers = (type_glGenBuffers)
- context->getProcAddress(QLatin1String("glGenBuffersOES"));
- }
-#endif
- if (!funcs->genBuffers) {
- funcs->genBuffers = (type_glGenBuffers)
- context->getProcAddress(QLatin1String("glGenBuffersEXT"));
- }
- if (!funcs->genBuffers) {
- funcs->genBuffers = (type_glGenBuffers)
- context->getProcAddress(QLatin1String("glGenBuffersARB"));
- }
-
- if (funcs->genBuffers)
- funcs->genBuffers(n, buffers);
- else
- funcs->genBuffers = qglfResolveGenBuffers;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGenerateMipmap(GLenum target)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGenerateMipmap)(GLenum target);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->generateMipmap = (type_glGenerateMipmap)
- context->getProcAddress(QLatin1String("glGenerateMipmap"));
-#ifdef QT_OPENGL_ES
- if (!funcs->generateMipmap) {
- funcs->generateMipmap = (type_glGenerateMipmap)
- context->getProcAddress(QLatin1String("glGenerateMipmapOES"));
- }
-#endif
- if (!funcs->generateMipmap) {
- funcs->generateMipmap = (type_glGenerateMipmap)
- context->getProcAddress(QLatin1String("glGenerateMipmapEXT"));
- }
- if (!funcs->generateMipmap) {
- funcs->generateMipmap = (type_glGenerateMipmap)
- context->getProcAddress(QLatin1String("glGenerateMipmapARB"));
- }
-
- if (funcs->generateMipmap)
- funcs->generateMipmap(target);
- else
- funcs->generateMipmap = qglfResolveGenerateMipmap;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGenFramebuffers(GLsizei n, GLuint* framebuffers)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGenFramebuffers)(GLsizei n, GLuint* framebuffers);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->genFramebuffers = (type_glGenFramebuffers)
- context->getProcAddress(QLatin1String("glGenFramebuffers"));
-#ifdef QT_OPENGL_ES
- if (!funcs->genFramebuffers) {
- funcs->genFramebuffers = (type_glGenFramebuffers)
- context->getProcAddress(QLatin1String("glGenFramebuffersOES"));
- }
-#endif
- if (!funcs->genFramebuffers) {
- funcs->genFramebuffers = (type_glGenFramebuffers)
- context->getProcAddress(QLatin1String("glGenFramebuffersEXT"));
- }
- if (!funcs->genFramebuffers) {
- funcs->genFramebuffers = (type_glGenFramebuffers)
- context->getProcAddress(QLatin1String("glGenFramebuffersARB"));
- }
-
- if (funcs->genFramebuffers)
- funcs->genFramebuffers(n, framebuffers);
- else
- funcs->genFramebuffers = qglfResolveGenFramebuffers;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGenRenderbuffers)(GLsizei n, GLuint* renderbuffers);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->genRenderbuffers = (type_glGenRenderbuffers)
- context->getProcAddress(QLatin1String("glGenRenderbuffers"));
-#ifdef QT_OPENGL_ES
- if (!funcs->genRenderbuffers) {
- funcs->genRenderbuffers = (type_glGenRenderbuffers)
- context->getProcAddress(QLatin1String("glGenRenderbuffersOES"));
- }
-#endif
- if (!funcs->genRenderbuffers) {
- funcs->genRenderbuffers = (type_glGenRenderbuffers)
- context->getProcAddress(QLatin1String("glGenRenderbuffersEXT"));
- }
- if (!funcs->genRenderbuffers) {
- funcs->genRenderbuffers = (type_glGenRenderbuffers)
- context->getProcAddress(QLatin1String("glGenRenderbuffersARB"));
- }
-
- if (funcs->genRenderbuffers)
- funcs->genRenderbuffers(n, renderbuffers);
- else
- funcs->genRenderbuffers = qglfResolveGenRenderbuffers;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetActiveAttrib)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getActiveAttrib = (type_glGetActiveAttrib)
- context->getProcAddress(QLatin1String("glGetActiveAttrib"));
- if (!funcs->getActiveAttrib) {
- funcs->getActiveAttrib = (type_glGetActiveAttrib)
- context->getProcAddress(QLatin1String("glGetActiveAttribARB"));
- }
-
- if (funcs->getActiveAttrib)
- funcs->getActiveAttrib(program, index, bufsize, length, size, type, name);
- else
- funcs->getActiveAttrib = qglfResolveGetActiveAttrib;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetActiveUniform)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getActiveUniform = (type_glGetActiveUniform)
- context->getProcAddress(QLatin1String("glGetActiveUniform"));
- if (!funcs->getActiveUniform) {
- funcs->getActiveUniform = (type_glGetActiveUniform)
- context->getProcAddress(QLatin1String("glGetActiveUniformARB"));
- }
-
- if (funcs->getActiveUniform)
- funcs->getActiveUniform(program, index, bufsize, length, size, type, name);
- else
- funcs->getActiveUniform = qglfResolveGetActiveUniform;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetAttachedShaders)(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getAttachedShaders = (type_glGetAttachedShaders)
- context->getProcAddress(QLatin1String("glGetAttachedShaders"));
- if (!funcs->getAttachedShaders) {
- funcs->getAttachedShaders = (type_glGetAttachedShaders)
- context->getProcAddress(QLatin1String("glGetAttachedObjectsARB"));
- }
-
- if (funcs->getAttachedShaders)
- funcs->getAttachedShaders(program, maxcount, count, shaders);
- else
- funcs->getAttachedShaders = qglfResolveGetAttachedShaders;
-}
-
-static int QT3D_GLF_APIENTRY qglfResolveGetAttribLocation(GLuint program, const char* name)
-{
- typedef int (QT3D_GLF_APIENTRYP type_glGetAttribLocation)(GLuint program, const char* name);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getAttribLocation = (type_glGetAttribLocation)
- context->getProcAddress(QLatin1String("glGetAttribLocation"));
- if (!funcs->getAttribLocation) {
- funcs->getAttribLocation = (type_glGetAttribLocation)
- context->getProcAddress(QLatin1String("glGetAttribLocationARB"));
- }
-
- if (funcs->getAttribLocation)
- return funcs->getAttribLocation(program, name);
- funcs->getAttribLocation = qglfResolveGetAttribLocation;
- return int(0);
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetBufferParameteriv)(GLenum target, GLenum pname, GLint* params);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getBufferParameteriv = (type_glGetBufferParameteriv)
- context->getProcAddress(QLatin1String("glGetBufferParameteriv"));
-#ifdef QT_OPENGL_ES
- if (!funcs->getBufferParameteriv) {
- funcs->getBufferParameteriv = (type_glGetBufferParameteriv)
- context->getProcAddress(QLatin1String("glGetBufferParameterivOES"));
- }
-#endif
- if (!funcs->getBufferParameteriv) {
- funcs->getBufferParameteriv = (type_glGetBufferParameteriv)
- context->getProcAddress(QLatin1String("glGetBufferParameterivEXT"));
- }
- if (!funcs->getBufferParameteriv) {
- funcs->getBufferParameteriv = (type_glGetBufferParameteriv)
- context->getProcAddress(QLatin1String("glGetBufferParameterivARB"));
- }
-
- if (funcs->getBufferParameteriv)
- funcs->getBufferParameteriv(target, pname, params);
- else
- funcs->getBufferParameteriv = qglfResolveGetBufferParameteriv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint* params);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getFramebufferAttachmentParameteriv = (type_glGetFramebufferAttachmentParameteriv)
- context->getProcAddress(QLatin1String("glGetFramebufferAttachmentParameteriv"));
-#ifdef QT_OPENGL_ES
- if (!funcs->getFramebufferAttachmentParameteriv) {
- funcs->getFramebufferAttachmentParameteriv = (type_glGetFramebufferAttachmentParameteriv)
- context->getProcAddress(QLatin1String("glGetFramebufferAttachmentParameterivOES"));
- }
-#endif
- if (!funcs->getFramebufferAttachmentParameteriv) {
- funcs->getFramebufferAttachmentParameteriv = (type_glGetFramebufferAttachmentParameteriv)
- context->getProcAddress(QLatin1String("glGetFramebufferAttachmentParameterivEXT"));
- }
- if (!funcs->getFramebufferAttachmentParameteriv) {
- funcs->getFramebufferAttachmentParameteriv = (type_glGetFramebufferAttachmentParameteriv)
- context->getProcAddress(QLatin1String("glGetFramebufferAttachmentParameterivARB"));
- }
-
- if (funcs->getFramebufferAttachmentParameteriv)
- funcs->getFramebufferAttachmentParameteriv(target, attachment, pname, params);
- else
- funcs->getFramebufferAttachmentParameteriv = qglfResolveGetFramebufferAttachmentParameteriv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetProgramiv(GLuint program, GLenum pname, GLint* params)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetProgramiv)(GLuint program, GLenum pname, GLint* params);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getProgramiv = (type_glGetProgramiv)
- context->getProcAddress(QLatin1String("glGetProgramiv"));
- if (!funcs->getProgramiv) {
- funcs->getProgramiv = (type_glGetProgramiv)
- context->getProcAddress(QLatin1String("glGetObjectParameterivARB"));
- }
-
- if (funcs->getProgramiv)
- funcs->getProgramiv(program, pname, params);
- else
- funcs->getProgramiv = qglfResolveGetProgramiv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetProgramInfoLog)(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getProgramInfoLog = (type_glGetProgramInfoLog)
- context->getProcAddress(QLatin1String("glGetProgramInfoLog"));
- if (!funcs->getProgramInfoLog) {
- funcs->getProgramInfoLog = (type_glGetProgramInfoLog)
- context->getProcAddress(QLatin1String("glGetInfoLogARB"));
- }
-
- if (funcs->getProgramInfoLog)
- funcs->getProgramInfoLog(program, bufsize, length, infolog);
- else
- funcs->getProgramInfoLog = qglfResolveGetProgramInfoLog;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint* params);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getRenderbufferParameteriv = (type_glGetRenderbufferParameteriv)
- context->getProcAddress(QLatin1String("glGetRenderbufferParameteriv"));
-#ifdef QT_OPENGL_ES
- if (!funcs->getRenderbufferParameteriv) {
- funcs->getRenderbufferParameteriv = (type_glGetRenderbufferParameteriv)
- context->getProcAddress(QLatin1String("glGetRenderbufferParameterivOES"));
- }
-#endif
- if (!funcs->getRenderbufferParameteriv) {
- funcs->getRenderbufferParameteriv = (type_glGetRenderbufferParameteriv)
- context->getProcAddress(QLatin1String("glGetRenderbufferParameterivEXT"));
- }
- if (!funcs->getRenderbufferParameteriv) {
- funcs->getRenderbufferParameteriv = (type_glGetRenderbufferParameteriv)
- context->getProcAddress(QLatin1String("glGetRenderbufferParameterivARB"));
- }
-
- if (funcs->getRenderbufferParameteriv)
- funcs->getRenderbufferParameteriv(target, pname, params);
- else
- funcs->getRenderbufferParameteriv = qglfResolveGetRenderbufferParameteriv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetShaderiv(GLuint shader, GLenum pname, GLint* params)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetShaderiv)(GLuint shader, GLenum pname, GLint* params);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getShaderiv = (type_glGetShaderiv)
- context->getProcAddress(QLatin1String("glGetShaderiv"));
- if (!funcs->getShaderiv) {
- funcs->getShaderiv = (type_glGetShaderiv)
- context->getProcAddress(QLatin1String("glGetObjectParameterivARB"));
- }
-
- if (funcs->getShaderiv)
- funcs->getShaderiv(shader, pname, params);
- else
- funcs->getShaderiv = qglfResolveGetShaderiv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetShaderInfoLog)(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getShaderInfoLog = (type_glGetShaderInfoLog)
- context->getProcAddress(QLatin1String("glGetShaderInfoLog"));
- if (!funcs->getShaderInfoLog) {
- funcs->getShaderInfoLog = (type_glGetShaderInfoLog)
- context->getProcAddress(QLatin1String("glGetInfoLogARB"));
- }
-
- if (funcs->getShaderInfoLog)
- funcs->getShaderInfoLog(shader, bufsize, length, infolog);
- else
- funcs->getShaderInfoLog = qglfResolveGetShaderInfoLog;
-}
-
-static void QT3D_GLF_APIENTRY qglfSpecialGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
-{
- Q_UNUSED(shadertype);
- Q_UNUSED(precisiontype);
- range[0] = range[1] = precision[0] = 0;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getShaderPrecisionFormat = (type_glGetShaderPrecisionFormat)
- context->getProcAddress(QLatin1String("glGetShaderPrecisionFormat"));
-#ifdef QT_OPENGL_ES
- if (!funcs->getShaderPrecisionFormat) {
- funcs->getShaderPrecisionFormat = (type_glGetShaderPrecisionFormat)
- context->getProcAddress(QLatin1String("glGetShaderPrecisionFormatOES"));
- }
-#endif
- if (!funcs->getShaderPrecisionFormat) {
- funcs->getShaderPrecisionFormat = (type_glGetShaderPrecisionFormat)
- context->getProcAddress(QLatin1String("glGetShaderPrecisionFormatEXT"));
- }
- if (!funcs->getShaderPrecisionFormat) {
- funcs->getShaderPrecisionFormat = (type_glGetShaderPrecisionFormat)
- context->getProcAddress(QLatin1String("glGetShaderPrecisionFormatARB"));
- }
-
- if (!funcs->getShaderPrecisionFormat)
- funcs->getShaderPrecisionFormat = qglfSpecialGetShaderPrecisionFormat;
-
- funcs->getShaderPrecisionFormat(shadertype, precisiontype, range, precision);
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, char* source)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetShaderSource)(GLuint shader, GLsizei bufsize, GLsizei* length, char* source);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getShaderSource = (type_glGetShaderSource)
- context->getProcAddress(QLatin1String("glGetShaderSource"));
- if (!funcs->getShaderSource) {
- funcs->getShaderSource = (type_glGetShaderSource)
- context->getProcAddress(QLatin1String("glGetShaderSourceARB"));
- }
-
- if (funcs->getShaderSource)
- funcs->getShaderSource(shader, bufsize, length, source);
- else
- funcs->getShaderSource = qglfResolveGetShaderSource;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetUniformfv(GLuint program, GLint location, GLfloat* params)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetUniformfv)(GLuint program, GLint location, GLfloat* params);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getUniformfv = (type_glGetUniformfv)
- context->getProcAddress(QLatin1String("glGetUniformfv"));
- if (!funcs->getUniformfv) {
- funcs->getUniformfv = (type_glGetUniformfv)
- context->getProcAddress(QLatin1String("glGetUniformfvARB"));
- }
-
- if (funcs->getUniformfv)
- funcs->getUniformfv(program, location, params);
- else
- funcs->getUniformfv = qglfResolveGetUniformfv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetUniformiv(GLuint program, GLint location, GLint* params)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetUniformiv)(GLuint program, GLint location, GLint* params);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getUniformiv = (type_glGetUniformiv)
- context->getProcAddress(QLatin1String("glGetUniformiv"));
- if (!funcs->getUniformiv) {
- funcs->getUniformiv = (type_glGetUniformiv)
- context->getProcAddress(QLatin1String("glGetUniformivARB"));
- }
-
- if (funcs->getUniformiv)
- funcs->getUniformiv(program, location, params);
- else
- funcs->getUniformiv = qglfResolveGetUniformiv;
-}
-
-static int QT3D_GLF_APIENTRY qglfResolveGetUniformLocation(GLuint program, const char* name)
-{
- typedef int (QT3D_GLF_APIENTRYP type_glGetUniformLocation)(GLuint program, const char* name);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getUniformLocation = (type_glGetUniformLocation)
- context->getProcAddress(QLatin1String("glGetUniformLocation"));
- if (!funcs->getUniformLocation) {
- funcs->getUniformLocation = (type_glGetUniformLocation)
- context->getProcAddress(QLatin1String("glGetUniformLocationARB"));
- }
-
- if (funcs->getUniformLocation)
- return funcs->getUniformLocation(program, name);
- funcs->getUniformLocation = qglfResolveGetUniformLocation;
- return int(0);
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetVertexAttribfv)(GLuint index, GLenum pname, GLfloat* params);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getVertexAttribfv = (type_glGetVertexAttribfv)
- context->getProcAddress(QLatin1String("glGetVertexAttribfv"));
- if (!funcs->getVertexAttribfv) {
- funcs->getVertexAttribfv = (type_glGetVertexAttribfv)
- context->getProcAddress(QLatin1String("glGetVertexAttribfvARB"));
- }
-
- if (funcs->getVertexAttribfv)
- funcs->getVertexAttribfv(index, pname, params);
- else
- funcs->getVertexAttribfv = qglfResolveGetVertexAttribfv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetVertexAttribiv)(GLuint index, GLenum pname, GLint* params);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getVertexAttribiv = (type_glGetVertexAttribiv)
- context->getProcAddress(QLatin1String("glGetVertexAttribiv"));
- if (!funcs->getVertexAttribiv) {
- funcs->getVertexAttribiv = (type_glGetVertexAttribiv)
- context->getProcAddress(QLatin1String("glGetVertexAttribivARB"));
- }
-
- if (funcs->getVertexAttribiv)
- funcs->getVertexAttribiv(index, pname, params);
- else
- funcs->getVertexAttribiv = qglfResolveGetVertexAttribiv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveGetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glGetVertexAttribPointerv)(GLuint index, GLenum pname, void** pointer);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->getVertexAttribPointerv = (type_glGetVertexAttribPointerv)
- context->getProcAddress(QLatin1String("glGetVertexAttribPointerv"));
- if (!funcs->getVertexAttribPointerv) {
- funcs->getVertexAttribPointerv = (type_glGetVertexAttribPointerv)
- context->getProcAddress(QLatin1String("glGetVertexAttribPointervARB"));
- }
-
- if (funcs->getVertexAttribPointerv)
- funcs->getVertexAttribPointerv(index, pname, pointer);
- else
- funcs->getVertexAttribPointerv = qglfResolveGetVertexAttribPointerv;
-}
-
-static GLboolean QT3D_GLF_APIENTRY qglfResolveIsBuffer(GLuint buffer)
-{
- typedef GLboolean (QT3D_GLF_APIENTRYP type_glIsBuffer)(GLuint buffer);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->isBuffer = (type_glIsBuffer)
- context->getProcAddress(QLatin1String("glIsBuffer"));
-#ifdef QT_OPENGL_ES
- if (!funcs->isBuffer) {
- funcs->isBuffer = (type_glIsBuffer)
- context->getProcAddress(QLatin1String("glIsBufferOES"));
- }
-#endif
- if (!funcs->isBuffer) {
- funcs->isBuffer = (type_glIsBuffer)
- context->getProcAddress(QLatin1String("glIsBufferEXT"));
- }
- if (!funcs->isBuffer) {
- funcs->isBuffer = (type_glIsBuffer)
- context->getProcAddress(QLatin1String("glIsBufferARB"));
- }
-
- if (funcs->isBuffer)
- return funcs->isBuffer(buffer);
- funcs->isBuffer = qglfResolveIsBuffer;
- return GLboolean(0);
-}
-
-static GLboolean QT3D_GLF_APIENTRY qglfResolveIsFramebuffer(GLuint framebuffer)
-{
- typedef GLboolean (QT3D_GLF_APIENTRYP type_glIsFramebuffer)(GLuint framebuffer);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->isFramebuffer = (type_glIsFramebuffer)
- context->getProcAddress(QLatin1String("glIsFramebuffer"));
-#ifdef QT_OPENGL_ES
- if (!funcs->isFramebuffer) {
- funcs->isFramebuffer = (type_glIsFramebuffer)
- context->getProcAddress(QLatin1String("glIsFramebufferOES"));
- }
-#endif
- if (!funcs->isFramebuffer) {
- funcs->isFramebuffer = (type_glIsFramebuffer)
- context->getProcAddress(QLatin1String("glIsFramebufferEXT"));
- }
- if (!funcs->isFramebuffer) {
- funcs->isFramebuffer = (type_glIsFramebuffer)
- context->getProcAddress(QLatin1String("glIsFramebufferARB"));
- }
-
- if (funcs->isFramebuffer)
- return funcs->isFramebuffer(framebuffer);
- funcs->isFramebuffer = qglfResolveIsFramebuffer;
- return GLboolean(0);
-}
-
-static GLboolean QT3D_GLF_APIENTRY qglfSpecialIsProgram(GLuint program)
-{
- return program != 0;
-}
-
-static GLboolean QT3D_GLF_APIENTRY qglfResolveIsProgram(GLuint program)
-{
- typedef GLboolean (QT3D_GLF_APIENTRYP type_glIsProgram)(GLuint program);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->isProgram = (type_glIsProgram)
- context->getProcAddress(QLatin1String("glIsProgram"));
- if (!funcs->isProgram) {
- funcs->isProgram = (type_glIsProgram)
- context->getProcAddress(QLatin1String("glIsProgramARB"));
- }
-
- if (!funcs->isProgram)
- funcs->isProgram = qglfSpecialIsProgram;
-
- return funcs->isProgram(program);
-}
-
-static GLboolean QT3D_GLF_APIENTRY qglfResolveIsRenderbuffer(GLuint renderbuffer)
-{
- typedef GLboolean (QT3D_GLF_APIENTRYP type_glIsRenderbuffer)(GLuint renderbuffer);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->isRenderbuffer = (type_glIsRenderbuffer)
- context->getProcAddress(QLatin1String("glIsRenderbuffer"));
-#ifdef QT_OPENGL_ES
- if (!funcs->isRenderbuffer) {
- funcs->isRenderbuffer = (type_glIsRenderbuffer)
- context->getProcAddress(QLatin1String("glIsRenderbufferOES"));
- }
-#endif
- if (!funcs->isRenderbuffer) {
- funcs->isRenderbuffer = (type_glIsRenderbuffer)
- context->getProcAddress(QLatin1String("glIsRenderbufferEXT"));
- }
- if (!funcs->isRenderbuffer) {
- funcs->isRenderbuffer = (type_glIsRenderbuffer)
- context->getProcAddress(QLatin1String("glIsRenderbufferARB"));
- }
-
- if (funcs->isRenderbuffer)
- return funcs->isRenderbuffer(renderbuffer);
- funcs->isRenderbuffer = qglfResolveIsRenderbuffer;
- return GLboolean(0);
-}
-
-static GLboolean QT3D_GLF_APIENTRY qglfSpecialIsShader(GLuint shader)
-{
- return shader != 0;
-}
-
-static GLboolean QT3D_GLF_APIENTRY qglfResolveIsShader(GLuint shader)
-{
- typedef GLboolean (QT3D_GLF_APIENTRYP type_glIsShader)(GLuint shader);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->isShader = (type_glIsShader)
- context->getProcAddress(QLatin1String("glIsShader"));
- if (!funcs->isShader) {
- funcs->isShader = (type_glIsShader)
- context->getProcAddress(QLatin1String("glIsShaderARB"));
- }
-
- if (!funcs->isShader)
- funcs->isShader = qglfSpecialIsShader;
-
- return funcs->isShader(shader);
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveLinkProgram(GLuint program)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glLinkProgram)(GLuint program);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->linkProgram = (type_glLinkProgram)
- context->getProcAddress(QLatin1String("glLinkProgram"));
- if (!funcs->linkProgram) {
- funcs->linkProgram = (type_glLinkProgram)
- context->getProcAddress(QLatin1String("glLinkProgramARB"));
- }
-
- if (funcs->linkProgram)
- funcs->linkProgram(program);
- else
- funcs->linkProgram = qglfResolveLinkProgram;
-}
-
-static void QT3D_GLF_APIENTRY qglfSpecialReleaseShaderCompiler()
-{
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveReleaseShaderCompiler()
-{
- typedef void (QT3D_GLF_APIENTRYP type_glReleaseShaderCompiler)();
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->releaseShaderCompiler = (type_glReleaseShaderCompiler)
- context->getProcAddress(QLatin1String("glReleaseShaderCompiler"));
- if (!funcs->releaseShaderCompiler) {
- funcs->releaseShaderCompiler = (type_glReleaseShaderCompiler)
- context->getProcAddress(QLatin1String("glReleaseShaderCompilerARB"));
- }
-
- if (!funcs->releaseShaderCompiler)
- funcs->releaseShaderCompiler = qglfSpecialReleaseShaderCompiler;
-
- funcs->releaseShaderCompiler();
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glRenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->renderbufferStorage = (type_glRenderbufferStorage)
- context->getProcAddress(QLatin1String("glRenderbufferStorage"));
-#ifdef QT_OPENGL_ES
- if (!funcs->renderbufferStorage) {
- funcs->renderbufferStorage = (type_glRenderbufferStorage)
- context->getProcAddress(QLatin1String("glRenderbufferStorageOES"));
- }
-#endif
- if (!funcs->renderbufferStorage) {
- funcs->renderbufferStorage = (type_glRenderbufferStorage)
- context->getProcAddress(QLatin1String("glRenderbufferStorageEXT"));
- }
- if (!funcs->renderbufferStorage) {
- funcs->renderbufferStorage = (type_glRenderbufferStorage)
- context->getProcAddress(QLatin1String("glRenderbufferStorageARB"));
- }
-
- if (funcs->renderbufferStorage)
- funcs->renderbufferStorage(target, internalformat, width, height);
- else
- funcs->renderbufferStorage = qglfResolveRenderbufferStorage;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveSampleCoverage(GLclampf value, GLboolean invert)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glSampleCoverage)(GLclampf value, GLboolean invert);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->sampleCoverage = (type_glSampleCoverage)
- context->getProcAddress(QLatin1String("glSampleCoverage"));
-#ifdef QT_OPENGL_ES
- if (!funcs->sampleCoverage) {
- funcs->sampleCoverage = (type_glSampleCoverage)
- context->getProcAddress(QLatin1String("glSampleCoverageOES"));
- }
-#endif
- if (!funcs->sampleCoverage) {
- funcs->sampleCoverage = (type_glSampleCoverage)
- context->getProcAddress(QLatin1String("glSampleCoverageEXT"));
- }
- if (!funcs->sampleCoverage) {
- funcs->sampleCoverage = (type_glSampleCoverage)
- context->getProcAddress(QLatin1String("glSampleCoverageARB"));
- }
-
- if (funcs->sampleCoverage)
- funcs->sampleCoverage(value, invert);
- else
- funcs->sampleCoverage = qglfResolveSampleCoverage;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glShaderBinary)(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->shaderBinary = (type_glShaderBinary)
- context->getProcAddress(QLatin1String("glShaderBinary"));
- if (!funcs->shaderBinary) {
- funcs->shaderBinary = (type_glShaderBinary)
- context->getProcAddress(QLatin1String("glShaderBinaryARB"));
- }
-
- if (funcs->shaderBinary)
- funcs->shaderBinary(n, shaders, binaryformat, binary, length);
- else
- funcs->shaderBinary = qglfResolveShaderBinary;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveShaderSource(GLuint shader, GLsizei count, const char** string, const GLint* length)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glShaderSource)(GLuint shader, GLsizei count, const char** string, const GLint* length);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->shaderSource = (type_glShaderSource)
- context->getProcAddress(QLatin1String("glShaderSource"));
- if (!funcs->shaderSource) {
- funcs->shaderSource = (type_glShaderSource)
- context->getProcAddress(QLatin1String("glShaderSourceARB"));
- }
-
- if (funcs->shaderSource)
- funcs->shaderSource(shader, count, string, length);
- else
- funcs->shaderSource = qglfResolveShaderSource;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glStencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->stencilFuncSeparate = (type_glStencilFuncSeparate)
- context->getProcAddress(QLatin1String("glStencilFuncSeparate"));
-#ifdef QT_OPENGL_ES
- if (!funcs->stencilFuncSeparate) {
- funcs->stencilFuncSeparate = (type_glStencilFuncSeparate)
- context->getProcAddress(QLatin1String("glStencilFuncSeparateOES"));
- }
-#endif
- if (!funcs->stencilFuncSeparate) {
- funcs->stencilFuncSeparate = (type_glStencilFuncSeparate)
- context->getProcAddress(QLatin1String("glStencilFuncSeparateEXT"));
- }
- if (!funcs->stencilFuncSeparate) {
- funcs->stencilFuncSeparate = (type_glStencilFuncSeparate)
- context->getProcAddress(QLatin1String("glStencilFuncSeparateARB"));
- }
-
- if (funcs->stencilFuncSeparate)
- funcs->stencilFuncSeparate(face, func, ref, mask);
- else
- funcs->stencilFuncSeparate = qglfResolveStencilFuncSeparate;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveStencilMaskSeparate(GLenum face, GLuint mask)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glStencilMaskSeparate)(GLenum face, GLuint mask);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->stencilMaskSeparate = (type_glStencilMaskSeparate)
- context->getProcAddress(QLatin1String("glStencilMaskSeparate"));
-#ifdef QT_OPENGL_ES
- if (!funcs->stencilMaskSeparate) {
- funcs->stencilMaskSeparate = (type_glStencilMaskSeparate)
- context->getProcAddress(QLatin1String("glStencilMaskSeparateOES"));
- }
-#endif
- if (!funcs->stencilMaskSeparate) {
- funcs->stencilMaskSeparate = (type_glStencilMaskSeparate)
- context->getProcAddress(QLatin1String("glStencilMaskSeparateEXT"));
- }
- if (!funcs->stencilMaskSeparate) {
- funcs->stencilMaskSeparate = (type_glStencilMaskSeparate)
- context->getProcAddress(QLatin1String("glStencilMaskSeparateARB"));
- }
-
- if (funcs->stencilMaskSeparate)
- funcs->stencilMaskSeparate(face, mask);
- else
- funcs->stencilMaskSeparate = qglfResolveStencilMaskSeparate;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glStencilOpSeparate)(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->stencilOpSeparate = (type_glStencilOpSeparate)
- context->getProcAddress(QLatin1String("glStencilOpSeparate"));
-#ifdef QT_OPENGL_ES
- if (!funcs->stencilOpSeparate) {
- funcs->stencilOpSeparate = (type_glStencilOpSeparate)
- context->getProcAddress(QLatin1String("glStencilOpSeparateOES"));
- }
-#endif
- if (!funcs->stencilOpSeparate) {
- funcs->stencilOpSeparate = (type_glStencilOpSeparate)
- context->getProcAddress(QLatin1String("glStencilOpSeparateEXT"));
- }
- if (!funcs->stencilOpSeparate) {
- funcs->stencilOpSeparate = (type_glStencilOpSeparate)
- context->getProcAddress(QLatin1String("glStencilOpSeparateARB"));
- }
-
- if (funcs->stencilOpSeparate)
- funcs->stencilOpSeparate(face, fail, zfail, zpass);
- else
- funcs->stencilOpSeparate = qglfResolveStencilOpSeparate;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform1f(GLint location, GLfloat x)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform1f)(GLint location, GLfloat x);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform1f = (type_glUniform1f)
- context->getProcAddress(QLatin1String("glUniform1f"));
- if (!funcs->uniform1f) {
- funcs->uniform1f = (type_glUniform1f)
- context->getProcAddress(QLatin1String("glUniform1fARB"));
- }
-
- if (funcs->uniform1f)
- funcs->uniform1f(location, x);
- else
- funcs->uniform1f = qglfResolveUniform1f;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform1fv(GLint location, GLsizei count, const GLfloat* v)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform1fv)(GLint location, GLsizei count, const GLfloat* v);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform1fv = (type_glUniform1fv)
- context->getProcAddress(QLatin1String("glUniform1fv"));
- if (!funcs->uniform1fv) {
- funcs->uniform1fv = (type_glUniform1fv)
- context->getProcAddress(QLatin1String("glUniform1fvARB"));
- }
-
- if (funcs->uniform1fv)
- funcs->uniform1fv(location, count, v);
- else
- funcs->uniform1fv = qglfResolveUniform1fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform1i(GLint location, GLint x)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform1i)(GLint location, GLint x);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform1i = (type_glUniform1i)
- context->getProcAddress(QLatin1String("glUniform1i"));
- if (!funcs->uniform1i) {
- funcs->uniform1i = (type_glUniform1i)
- context->getProcAddress(QLatin1String("glUniform1iARB"));
- }
-
- if (funcs->uniform1i)
- funcs->uniform1i(location, x);
- else
- funcs->uniform1i = qglfResolveUniform1i;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform1iv(GLint location, GLsizei count, const GLint* v)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform1iv)(GLint location, GLsizei count, const GLint* v);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform1iv = (type_glUniform1iv)
- context->getProcAddress(QLatin1String("glUniform1iv"));
- if (!funcs->uniform1iv) {
- funcs->uniform1iv = (type_glUniform1iv)
- context->getProcAddress(QLatin1String("glUniform1ivARB"));
- }
-
- if (funcs->uniform1iv)
- funcs->uniform1iv(location, count, v);
- else
- funcs->uniform1iv = qglfResolveUniform1iv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform2f(GLint location, GLfloat x, GLfloat y)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform2f)(GLint location, GLfloat x, GLfloat y);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform2f = (type_glUniform2f)
- context->getProcAddress(QLatin1String("glUniform2f"));
- if (!funcs->uniform2f) {
- funcs->uniform2f = (type_glUniform2f)
- context->getProcAddress(QLatin1String("glUniform2fARB"));
- }
-
- if (funcs->uniform2f)
- funcs->uniform2f(location, x, y);
- else
- funcs->uniform2f = qglfResolveUniform2f;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform2fv(GLint location, GLsizei count, const GLfloat* v)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform2fv)(GLint location, GLsizei count, const GLfloat* v);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform2fv = (type_glUniform2fv)
- context->getProcAddress(QLatin1String("glUniform2fv"));
- if (!funcs->uniform2fv) {
- funcs->uniform2fv = (type_glUniform2fv)
- context->getProcAddress(QLatin1String("glUniform2fvARB"));
- }
-
- if (funcs->uniform2fv)
- funcs->uniform2fv(location, count, v);
- else
- funcs->uniform2fv = qglfResolveUniform2fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform2i(GLint location, GLint x, GLint y)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform2i)(GLint location, GLint x, GLint y);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform2i = (type_glUniform2i)
- context->getProcAddress(QLatin1String("glUniform2i"));
- if (!funcs->uniform2i) {
- funcs->uniform2i = (type_glUniform2i)
- context->getProcAddress(QLatin1String("glUniform2iARB"));
- }
-
- if (funcs->uniform2i)
- funcs->uniform2i(location, x, y);
- else
- funcs->uniform2i = qglfResolveUniform2i;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform2iv(GLint location, GLsizei count, const GLint* v)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform2iv)(GLint location, GLsizei count, const GLint* v);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform2iv = (type_glUniform2iv)
- context->getProcAddress(QLatin1String("glUniform2iv"));
- if (!funcs->uniform2iv) {
- funcs->uniform2iv = (type_glUniform2iv)
- context->getProcAddress(QLatin1String("glUniform2ivARB"));
- }
-
- if (funcs->uniform2iv)
- funcs->uniform2iv(location, count, v);
- else
- funcs->uniform2iv = qglfResolveUniform2iv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform3f)(GLint location, GLfloat x, GLfloat y, GLfloat z);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform3f = (type_glUniform3f)
- context->getProcAddress(QLatin1String("glUniform3f"));
- if (!funcs->uniform3f) {
- funcs->uniform3f = (type_glUniform3f)
- context->getProcAddress(QLatin1String("glUniform3fARB"));
- }
-
- if (funcs->uniform3f)
- funcs->uniform3f(location, x, y, z);
- else
- funcs->uniform3f = qglfResolveUniform3f;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform3fv(GLint location, GLsizei count, const GLfloat* v)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform3fv)(GLint location, GLsizei count, const GLfloat* v);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform3fv = (type_glUniform3fv)
- context->getProcAddress(QLatin1String("glUniform3fv"));
- if (!funcs->uniform3fv) {
- funcs->uniform3fv = (type_glUniform3fv)
- context->getProcAddress(QLatin1String("glUniform3fvARB"));
- }
-
- if (funcs->uniform3fv)
- funcs->uniform3fv(location, count, v);
- else
- funcs->uniform3fv = qglfResolveUniform3fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform3i(GLint location, GLint x, GLint y, GLint z)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform3i)(GLint location, GLint x, GLint y, GLint z);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform3i = (type_glUniform3i)
- context->getProcAddress(QLatin1String("glUniform3i"));
- if (!funcs->uniform3i) {
- funcs->uniform3i = (type_glUniform3i)
- context->getProcAddress(QLatin1String("glUniform3iARB"));
- }
-
- if (funcs->uniform3i)
- funcs->uniform3i(location, x, y, z);
- else
- funcs->uniform3i = qglfResolveUniform3i;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform3iv(GLint location, GLsizei count, const GLint* v)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform3iv)(GLint location, GLsizei count, const GLint* v);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform3iv = (type_glUniform3iv)
- context->getProcAddress(QLatin1String("glUniform3iv"));
- if (!funcs->uniform3iv) {
- funcs->uniform3iv = (type_glUniform3iv)
- context->getProcAddress(QLatin1String("glUniform3ivARB"));
- }
-
- if (funcs->uniform3iv)
- funcs->uniform3iv(location, count, v);
- else
- funcs->uniform3iv = qglfResolveUniform3iv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform4f)(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform4f = (type_glUniform4f)
- context->getProcAddress(QLatin1String("glUniform4f"));
- if (!funcs->uniform4f) {
- funcs->uniform4f = (type_glUniform4f)
- context->getProcAddress(QLatin1String("glUniform4fARB"));
- }
-
- if (funcs->uniform4f)
- funcs->uniform4f(location, x, y, z, w);
- else
- funcs->uniform4f = qglfResolveUniform4f;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform4fv(GLint location, GLsizei count, const GLfloat* v)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform4fv)(GLint location, GLsizei count, const GLfloat* v);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform4fv = (type_glUniform4fv)
- context->getProcAddress(QLatin1String("glUniform4fv"));
- if (!funcs->uniform4fv) {
- funcs->uniform4fv = (type_glUniform4fv)
- context->getProcAddress(QLatin1String("glUniform4fvARB"));
- }
-
- if (funcs->uniform4fv)
- funcs->uniform4fv(location, count, v);
- else
- funcs->uniform4fv = qglfResolveUniform4fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform4i)(GLint location, GLint x, GLint y, GLint z, GLint w);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform4i = (type_glUniform4i)
- context->getProcAddress(QLatin1String("glUniform4i"));
- if (!funcs->uniform4i) {
- funcs->uniform4i = (type_glUniform4i)
- context->getProcAddress(QLatin1String("glUniform4iARB"));
- }
-
- if (funcs->uniform4i)
- funcs->uniform4i(location, x, y, z, w);
- else
- funcs->uniform4i = qglfResolveUniform4i;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniform4iv(GLint location, GLsizei count, const GLint* v)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniform4iv)(GLint location, GLsizei count, const GLint* v);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniform4iv = (type_glUniform4iv)
- context->getProcAddress(QLatin1String("glUniform4iv"));
- if (!funcs->uniform4iv) {
- funcs->uniform4iv = (type_glUniform4iv)
- context->getProcAddress(QLatin1String("glUniform4ivARB"));
- }
-
- if (funcs->uniform4iv)
- funcs->uniform4iv(location, count, v);
- else
- funcs->uniform4iv = qglfResolveUniform4iv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniformMatrix2fv = (type_glUniformMatrix2fv)
- context->getProcAddress(QLatin1String("glUniformMatrix2fv"));
- if (!funcs->uniformMatrix2fv) {
- funcs->uniformMatrix2fv = (type_glUniformMatrix2fv)
- context->getProcAddress(QLatin1String("glUniformMatrix2fvARB"));
- }
-
- if (funcs->uniformMatrix2fv)
- funcs->uniformMatrix2fv(location, count, transpose, value);
- else
- funcs->uniformMatrix2fv = qglfResolveUniformMatrix2fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniformMatrix3fv = (type_glUniformMatrix3fv)
- context->getProcAddress(QLatin1String("glUniformMatrix3fv"));
- if (!funcs->uniformMatrix3fv) {
- funcs->uniformMatrix3fv = (type_glUniformMatrix3fv)
- context->getProcAddress(QLatin1String("glUniformMatrix3fvARB"));
- }
-
- if (funcs->uniformMatrix3fv)
- funcs->uniformMatrix3fv(location, count, transpose, value);
- else
- funcs->uniformMatrix3fv = qglfResolveUniformMatrix3fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->uniformMatrix4fv = (type_glUniformMatrix4fv)
- context->getProcAddress(QLatin1String("glUniformMatrix4fv"));
- if (!funcs->uniformMatrix4fv) {
- funcs->uniformMatrix4fv = (type_glUniformMatrix4fv)
- context->getProcAddress(QLatin1String("glUniformMatrix4fvARB"));
- }
-
- if (funcs->uniformMatrix4fv)
- funcs->uniformMatrix4fv(location, count, transpose, value);
- else
- funcs->uniformMatrix4fv = qglfResolveUniformMatrix4fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveUseProgram(GLuint program)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glUseProgram)(GLuint program);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->useProgram = (type_glUseProgram)
- context->getProcAddress(QLatin1String("glUseProgram"));
- if (!funcs->useProgram) {
- funcs->useProgram = (type_glUseProgram)
- context->getProcAddress(QLatin1String("glUseProgramObjectARB"));
- }
-
- if (funcs->useProgram)
- funcs->useProgram(program);
- else
- funcs->useProgram = qglfResolveUseProgram;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveValidateProgram(GLuint program)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glValidateProgram)(GLuint program);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->validateProgram = (type_glValidateProgram)
- context->getProcAddress(QLatin1String("glValidateProgram"));
- if (!funcs->validateProgram) {
- funcs->validateProgram = (type_glValidateProgram)
- context->getProcAddress(QLatin1String("glValidateProgramARB"));
- }
-
- if (funcs->validateProgram)
- funcs->validateProgram(program);
- else
- funcs->validateProgram = qglfResolveValidateProgram;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveVertexAttrib1f(GLuint indx, GLfloat x)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glVertexAttrib1f)(GLuint indx, GLfloat x);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->vertexAttrib1f = (type_glVertexAttrib1f)
- context->getProcAddress(QLatin1String("glVertexAttrib1f"));
- if (!funcs->vertexAttrib1f) {
- funcs->vertexAttrib1f = (type_glVertexAttrib1f)
- context->getProcAddress(QLatin1String("glVertexAttrib1fARB"));
- }
-
- if (funcs->vertexAttrib1f)
- funcs->vertexAttrib1f(indx, x);
- else
- funcs->vertexAttrib1f = qglfResolveVertexAttrib1f;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveVertexAttrib1fv(GLuint indx, const GLfloat* values)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glVertexAttrib1fv)(GLuint indx, const GLfloat* values);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->vertexAttrib1fv = (type_glVertexAttrib1fv)
- context->getProcAddress(QLatin1String("glVertexAttrib1fv"));
- if (!funcs->vertexAttrib1fv) {
- funcs->vertexAttrib1fv = (type_glVertexAttrib1fv)
- context->getProcAddress(QLatin1String("glVertexAttrib1fvARB"));
- }
-
- if (funcs->vertexAttrib1fv)
- funcs->vertexAttrib1fv(indx, values);
- else
- funcs->vertexAttrib1fv = qglfResolveVertexAttrib1fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glVertexAttrib2f)(GLuint indx, GLfloat x, GLfloat y);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->vertexAttrib2f = (type_glVertexAttrib2f)
- context->getProcAddress(QLatin1String("glVertexAttrib2f"));
- if (!funcs->vertexAttrib2f) {
- funcs->vertexAttrib2f = (type_glVertexAttrib2f)
- context->getProcAddress(QLatin1String("glVertexAttrib2fARB"));
- }
-
- if (funcs->vertexAttrib2f)
- funcs->vertexAttrib2f(indx, x, y);
- else
- funcs->vertexAttrib2f = qglfResolveVertexAttrib2f;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveVertexAttrib2fv(GLuint indx, const GLfloat* values)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glVertexAttrib2fv)(GLuint indx, const GLfloat* values);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->vertexAttrib2fv = (type_glVertexAttrib2fv)
- context->getProcAddress(QLatin1String("glVertexAttrib2fv"));
- if (!funcs->vertexAttrib2fv) {
- funcs->vertexAttrib2fv = (type_glVertexAttrib2fv)
- context->getProcAddress(QLatin1String("glVertexAttrib2fvARB"));
- }
-
- if (funcs->vertexAttrib2fv)
- funcs->vertexAttrib2fv(indx, values);
- else
- funcs->vertexAttrib2fv = qglfResolveVertexAttrib2fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glVertexAttrib3f)(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->vertexAttrib3f = (type_glVertexAttrib3f)
- context->getProcAddress(QLatin1String("glVertexAttrib3f"));
- if (!funcs->vertexAttrib3f) {
- funcs->vertexAttrib3f = (type_glVertexAttrib3f)
- context->getProcAddress(QLatin1String("glVertexAttrib3fARB"));
- }
-
- if (funcs->vertexAttrib3f)
- funcs->vertexAttrib3f(indx, x, y, z);
- else
- funcs->vertexAttrib3f = qglfResolveVertexAttrib3f;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveVertexAttrib3fv(GLuint indx, const GLfloat* values)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glVertexAttrib3fv)(GLuint indx, const GLfloat* values);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->vertexAttrib3fv = (type_glVertexAttrib3fv)
- context->getProcAddress(QLatin1String("glVertexAttrib3fv"));
- if (!funcs->vertexAttrib3fv) {
- funcs->vertexAttrib3fv = (type_glVertexAttrib3fv)
- context->getProcAddress(QLatin1String("glVertexAttrib3fvARB"));
- }
-
- if (funcs->vertexAttrib3fv)
- funcs->vertexAttrib3fv(indx, values);
- else
- funcs->vertexAttrib3fv = qglfResolveVertexAttrib3fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glVertexAttrib4f)(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->vertexAttrib4f = (type_glVertexAttrib4f)
- context->getProcAddress(QLatin1String("glVertexAttrib4f"));
- if (!funcs->vertexAttrib4f) {
- funcs->vertexAttrib4f = (type_glVertexAttrib4f)
- context->getProcAddress(QLatin1String("glVertexAttrib4fARB"));
- }
-
- if (funcs->vertexAttrib4f)
- funcs->vertexAttrib4f(indx, x, y, z, w);
- else
- funcs->vertexAttrib4f = qglfResolveVertexAttrib4f;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveVertexAttrib4fv(GLuint indx, const GLfloat* values)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glVertexAttrib4fv)(GLuint indx, const GLfloat* values);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->vertexAttrib4fv = (type_glVertexAttrib4fv)
- context->getProcAddress(QLatin1String("glVertexAttrib4fv"));
- if (!funcs->vertexAttrib4fv) {
- funcs->vertexAttrib4fv = (type_glVertexAttrib4fv)
- context->getProcAddress(QLatin1String("glVertexAttrib4fvARB"));
- }
-
- if (funcs->vertexAttrib4fv)
- funcs->vertexAttrib4fv(indx, values);
- else
- funcs->vertexAttrib4fv = qglfResolveVertexAttrib4fv;
-}
-
-static void QT3D_GLF_APIENTRY qglfResolveVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr)
-{
- typedef void (QT3D_GLF_APIENTRYP type_glVertexAttribPointer)(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr);
-
- const QGLContext *context = QGLContext::currentContext();
- QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);
-
- funcs->vertexAttribPointer = (type_glVertexAttribPointer)
- context->getProcAddress(QLatin1String("glVertexAttribPointer"));
- if (!funcs->vertexAttribPointer) {
- funcs->vertexAttribPointer = (type_glVertexAttribPointer)
- context->getProcAddress(QLatin1String("glVertexAttribPointerARB"));
- }
-
- if (funcs->vertexAttribPointer)
- funcs->vertexAttribPointer(indx, size, type, normalized, stride, ptr);
- else
- funcs->vertexAttribPointer = qglfResolveVertexAttribPointer;
-}
-
-#endif // !QT_OPENGL_ES_2
-
-QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(const QGLContext *)
-{
-#ifndef QT_OPENGL_ES_2
- activeTexture = qglfResolveActiveTexture;
- attachShader = qglfResolveAttachShader;
- bindAttribLocation = qglfResolveBindAttribLocation;
- bindBuffer = qglfResolveBindBuffer;
- bindFramebuffer = qglfResolveBindFramebuffer;
- bindRenderbuffer = qglfResolveBindRenderbuffer;
- blendColor = qglfResolveBlendColor;
- blendEquation = qglfResolveBlendEquation;
- blendEquationSeparate = qglfResolveBlendEquationSeparate;
- blendFuncSeparate = qglfResolveBlendFuncSeparate;
- bufferData = qglfResolveBufferData;
- bufferSubData = qglfResolveBufferSubData;
- checkFramebufferStatus = qglfResolveCheckFramebufferStatus;
- compileShader = qglfResolveCompileShader;
- compressedTexImage2D = qglfResolveCompressedTexImage2D;
- compressedTexSubImage2D = qglfResolveCompressedTexSubImage2D;
- createProgram = qglfResolveCreateProgram;
- createShader = qglfResolveCreateShader;
- deleteBuffers = qglfResolveDeleteBuffers;
- deleteFramebuffers = qglfResolveDeleteFramebuffers;
- deleteProgram = qglfResolveDeleteProgram;
- deleteRenderbuffers = qglfResolveDeleteRenderbuffers;
- deleteShader = qglfResolveDeleteShader;
- detachShader = qglfResolveDetachShader;
- disableVertexAttribArray = qglfResolveDisableVertexAttribArray;
- enableVertexAttribArray = qglfResolveEnableVertexAttribArray;
- framebufferRenderbuffer = qglfResolveFramebufferRenderbuffer;
- framebufferTexture2D = qglfResolveFramebufferTexture2D;
- genBuffers = qglfResolveGenBuffers;
- generateMipmap = qglfResolveGenerateMipmap;
- genFramebuffers = qglfResolveGenFramebuffers;
- genRenderbuffers = qglfResolveGenRenderbuffers;
- getActiveAttrib = qglfResolveGetActiveAttrib;
- getActiveUniform = qglfResolveGetActiveUniform;
- getAttachedShaders = qglfResolveGetAttachedShaders;
- getAttribLocation = qglfResolveGetAttribLocation;
- getBufferParameteriv = qglfResolveGetBufferParameteriv;
- getFramebufferAttachmentParameteriv = qglfResolveGetFramebufferAttachmentParameteriv;
- getProgramiv = qglfResolveGetProgramiv;
- getProgramInfoLog = qglfResolveGetProgramInfoLog;
- getRenderbufferParameteriv = qglfResolveGetRenderbufferParameteriv;
- getShaderiv = qglfResolveGetShaderiv;
- getShaderInfoLog = qglfResolveGetShaderInfoLog;
- getShaderPrecisionFormat = qglfResolveGetShaderPrecisionFormat;
- getShaderSource = qglfResolveGetShaderSource;
- getUniformfv = qglfResolveGetUniformfv;
- getUniformiv = qglfResolveGetUniformiv;
- getUniformLocation = qglfResolveGetUniformLocation;
- getVertexAttribfv = qglfResolveGetVertexAttribfv;
- getVertexAttribiv = qglfResolveGetVertexAttribiv;
- getVertexAttribPointerv = qglfResolveGetVertexAttribPointerv;
- isBuffer = qglfResolveIsBuffer;
- isFramebuffer = qglfResolveIsFramebuffer;
- isProgram = qglfResolveIsProgram;
- isRenderbuffer = qglfResolveIsRenderbuffer;
- isShader = qglfResolveIsShader;
- linkProgram = qglfResolveLinkProgram;
- releaseShaderCompiler = qglfResolveReleaseShaderCompiler;
- renderbufferStorage = qglfResolveRenderbufferStorage;
- sampleCoverage = qglfResolveSampleCoverage;
- shaderBinary = qglfResolveShaderBinary;
- shaderSource = qglfResolveShaderSource;
- stencilFuncSeparate = qglfResolveStencilFuncSeparate;
- stencilMaskSeparate = qglfResolveStencilMaskSeparate;
- stencilOpSeparate = qglfResolveStencilOpSeparate;
- uniform1f = qglfResolveUniform1f;
- uniform1fv = qglfResolveUniform1fv;
- uniform1i = qglfResolveUniform1i;
- uniform1iv = qglfResolveUniform1iv;
- uniform2f = qglfResolveUniform2f;
- uniform2fv = qglfResolveUniform2fv;
- uniform2i = qglfResolveUniform2i;
- uniform2iv = qglfResolveUniform2iv;
- uniform3f = qglfResolveUniform3f;
- uniform3fv = qglfResolveUniform3fv;
- uniform3i = qglfResolveUniform3i;
- uniform3iv = qglfResolveUniform3iv;
- uniform4f = qglfResolveUniform4f;
- uniform4fv = qglfResolveUniform4fv;
- uniform4i = qglfResolveUniform4i;
- uniform4iv = qglfResolveUniform4iv;
- uniformMatrix2fv = qglfResolveUniformMatrix2fv;
- uniformMatrix3fv = qglfResolveUniformMatrix3fv;
- uniformMatrix4fv = qglfResolveUniformMatrix4fv;
- useProgram = qglfResolveUseProgram;
- validateProgram = qglfResolveValidateProgram;
- vertexAttrib1f = qglfResolveVertexAttrib1f;
- vertexAttrib1fv = qglfResolveVertexAttrib1fv;
- vertexAttrib2f = qglfResolveVertexAttrib2f;
- vertexAttrib2fv = qglfResolveVertexAttrib2fv;
- vertexAttrib3f = qglfResolveVertexAttrib3f;
- vertexAttrib3fv = qglfResolveVertexAttrib3fv;
- vertexAttrib4f = qglfResolveVertexAttrib4f;
- vertexAttrib4fv = qglfResolveVertexAttrib4fv;
- vertexAttribPointer = qglfResolveVertexAttribPointer;
-#endif // !QT_OPENGL_ES_2
-}
-
diff --git a/src/threed/api/qopenglfunctions.h b/src/threed/api/qopenglfunctions.h
deleted file mode 100644
index 315846b1..00000000
--- a/src/threed/api/qopenglfunctions.h
+++ /dev/null
@@ -1,2292 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QOPENGLFUNCTIONS_H
-#define QOPENGLFUNCTIONS_H
-
-#include <QtOpenGL/qgl.h>
-#include "qt3dglobal.h"
-#include <QDebug>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Qt3D)
-
-// Types that aren't defined in all system's gl.h files.
-typedef ptrdiff_t qgl_GLintptr;
-typedef ptrdiff_t qgl_GLsizeiptr;
-
-#ifdef Q_WS_WIN
-# define QT3D_GLF_APIENTRY APIENTRY
-#endif
-
-#ifndef Q_WS_MAC
-# ifndef QT3D_GLF_APIENTRYP
-# ifdef QT3D_GLF_APIENTRY
-# define QT3D_GLF_APIENTRYP QT3D_GLF_APIENTRY *
-# else
-# define QT3D_GLF_APIENTRY
-# define QT3D_GLF_APIENTRYP *
-# endif
-# endif
-#else
-# define QT3D_GLF_APIENTRY
-# define QT3D_GLF_APIENTRYP *
-#endif
-
-struct QOpenGLFunctionsPrivate;
-
-// Undefine any macros from GLEW, qglextensions_p.h, etc that
-// may interfere with the definition of QOpenGLFunctions.
-#undef glActiveTexture
-#undef glAttachShader
-#undef glBindAttribLocation
-#undef glBindBuffer
-#undef glBindFramebuffer
-#undef glBindRenderbuffer
-#undef glBlendColor
-#undef glBlendEquation
-#undef glBlendEquationSeparate
-#undef glBlendFuncSeparate
-#undef glBufferData
-#undef glBufferSubData
-#undef glCheckFramebufferStatus
-#undef glClearDepthf
-#undef glCompileShader
-#undef glCompressedTexImage2D
-#undef glCompressedTexSubImage2D
-#undef glCreateProgram
-#undef glCreateShader
-#undef glDeleteBuffers
-#undef glDeleteFramebuffers
-#undef glDeleteProgram
-#undef glDeleteRenderbuffers
-#undef glDeleteShader
-#undef glDepthRangef
-#undef glDetachShader
-#undef glDisableVertexAttribArray
-#undef glEnableVertexAttribArray
-#undef glFramebufferRenderbuffer
-#undef glFramebufferTexture2D
-#undef glGenBuffers
-#undef glGenerateMipmap
-#undef glGenFramebuffers
-#undef glGenRenderbuffers
-#undef glGetActiveAttrib
-#undef glGetActiveUniform
-#undef glGetAttachedShaders
-#undef glGetAttribLocation
-#undef glGetBufferParameteriv
-#undef glGetFramebufferAttachmentParameteriv
-#undef glGetProgramiv
-#undef glGetProgramInfoLog
-#undef glGetRenderbufferParameteriv
-#undef glGetShaderiv
-#undef glGetShaderInfoLog
-#undef glGetShaderPrecisionFormat
-#undef glGetShaderSource
-#undef glGetUniformfv
-#undef glGetUniformiv
-#undef glGetUniformLocation
-#undef glGetVertexAttribfv
-#undef glGetVertexAttribiv
-#undef glGetVertexAttribPointerv
-#undef glIsBuffer
-#undef glIsFramebuffer
-#undef glIsProgram
-#undef glIsRenderbuffer
-#undef glIsShader
-#undef glLinkProgram
-#undef glReleaseShaderCompiler
-#undef glRenderbufferStorage
-#undef glSampleCoverage
-#undef glShaderBinary
-#undef glShaderSource
-#undef glStencilFuncSeparate
-#undef glStencilMaskSeparate
-#undef glStencilOpSeparate
-#undef glUniform1f
-#undef glUniform1fv
-#undef glUniform1i
-#undef glUniform1iv
-#undef glUniform2f
-#undef glUniform2fv
-#undef glUniform2i
-#undef glUniform2iv
-#undef glUniform3f
-#undef glUniform3fv
-#undef glUniform3i
-#undef glUniform3iv
-#undef glUniform4f
-#undef glUniform4fv
-#undef glUniform4i
-#undef glUniform4iv
-#undef glUniformMatrix2fv
-#undef glUniformMatrix3fv
-#undef glUniformMatrix4fv
-#undef glUseProgram
-#undef glValidateProgram
-#undef glVertexAttrib1f
-#undef glVertexAttrib1fv
-#undef glVertexAttrib2f
-#undef glVertexAttrib2fv
-#undef glVertexAttrib3f
-#undef glVertexAttrib3fv
-#undef glVertexAttrib4f
-#undef glVertexAttrib4fv
-#undef glVertexAttribPointer
-
-class Q_QT3D_EXPORT QOpenGLFunctions
-{
-public:
- QOpenGLFunctions();
- explicit QOpenGLFunctions(const QGLContext *context);
- ~QOpenGLFunctions() {}
-
- enum OpenGLFeature
- {
- Multitexture = 0x0001,
- Shaders = 0x0002,
- Buffers = 0x0004,
- Framebuffers = 0x0008,
- BlendColor = 0x0010,
- BlendEquation = 0x0020,
- BlendEquationSeparate = 0x0040,
- BlendFuncSeparate = 0x0080,
- BlendSubtract = 0x0100,
- CompressedTextures = 0x0200,
- Multisample = 0x0400,
- StencilSeparate = 0x0800,
- NPOTTextures = 0x1000
- };
- Q_DECLARE_FLAGS(OpenGLFeatures, OpenGLFeature)
-
- QOpenGLFunctions::OpenGLFeatures openGLFeatures() const;
- bool hasOpenGLFeature(QOpenGLFunctions::OpenGLFeature feature) const;
-
- void initializeGLFunctions(const QGLContext *context = 0);
-
- void glActiveTexture(GLenum texture);
- void glAttachShader(GLuint program, GLuint shader);
- void glBindAttribLocation(GLuint program, GLuint index, const char* name);
- void glBindBuffer(GLenum target, GLuint buffer);
- void glBindFramebuffer(GLenum target, GLuint framebuffer);
- void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
- void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
- void glBlendEquation(GLenum mode);
- void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
- void glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
- void glBufferData(GLenum target, qgl_GLsizeiptr size, const void* data, GLenum usage);
- void glBufferSubData(GLenum target, qgl_GLintptr offset, qgl_GLsizeiptr size, const void* data);
- GLenum glCheckFramebufferStatus(GLenum target);
- void glClearDepthf(GLclampf depth);
- void glCompileShader(GLuint shader);
- void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
- void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
- GLuint glCreateProgram();
- GLuint glCreateShader(GLenum type);
- void glDeleteBuffers(GLsizei n, const GLuint* buffers);
- void glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers);
- void glDeleteProgram(GLuint program);
- void glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers);
- void glDeleteShader(GLuint shader);
- void glDepthRangef(GLclampf zNear, GLclampf zFar);
- void glDetachShader(GLuint program, GLuint shader);
- void glDisableVertexAttribArray(GLuint index);
- void glEnableVertexAttribArray(GLuint index);
- void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
- void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
- void glGenBuffers(GLsizei n, GLuint* buffers);
- void glGenerateMipmap(GLenum target);
- void glGenFramebuffers(GLsizei n, GLuint* framebuffers);
- void glGenRenderbuffers(GLsizei n, GLuint* renderbuffers);
- void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name);
- void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name);
- void glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
- int glGetAttribLocation(GLuint program, const char* name);
- void glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params);
- void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params);
- void glGetProgramiv(GLuint program, GLenum pname, GLint* params);
- void glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog);
- void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params);
- void glGetShaderiv(GLuint shader, GLenum pname, GLint* params);
- void glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog);
- void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
- void glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, char* source);
- void glGetUniformfv(GLuint program, GLint location, GLfloat* params);
- void glGetUniformiv(GLuint program, GLint location, GLint* params);
- int glGetUniformLocation(GLuint program, const char* name);
- void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params);
- void glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params);
- void glGetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer);
- GLboolean glIsBuffer(GLuint buffer);
- GLboolean glIsFramebuffer(GLuint framebuffer);
- GLboolean glIsProgram(GLuint program);
- GLboolean glIsRenderbuffer(GLuint renderbuffer);
- GLboolean glIsShader(GLuint shader);
- void glLinkProgram(GLuint program);
- void glReleaseShaderCompiler();
- void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
- void glSampleCoverage(GLclampf value, GLboolean invert);
- void glShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length);
- void glShaderSource(GLuint shader, GLsizei count, const char** string, const GLint* length);
- void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
- void glStencilMaskSeparate(GLenum face, GLuint mask);
- void glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
- void glUniform1f(GLint location, GLfloat x);
- void glUniform1fv(GLint location, GLsizei count, const GLfloat* v);
- void glUniform1i(GLint location, GLint x);
- void glUniform1iv(GLint location, GLsizei count, const GLint* v);
- void glUniform2f(GLint location, GLfloat x, GLfloat y);
- void glUniform2fv(GLint location, GLsizei count, const GLfloat* v);
- void glUniform2i(GLint location, GLint x, GLint y);
- void glUniform2iv(GLint location, GLsizei count, const GLint* v);
- void glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z);
- void glUniform3fv(GLint location, GLsizei count, const GLfloat* v);
- void glUniform3i(GLint location, GLint x, GLint y, GLint z);
- void glUniform3iv(GLint location, GLsizei count, const GLint* v);
- void glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
- void glUniform4fv(GLint location, GLsizei count, const GLfloat* v);
- void glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w);
- void glUniform4iv(GLint location, GLsizei count, const GLint* v);
- void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- void glUseProgram(GLuint program);
- void glValidateProgram(GLuint program);
- void glVertexAttrib1f(GLuint indx, GLfloat x);
- void glVertexAttrib1fv(GLuint indx, const GLfloat* values);
- void glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y);
- void glVertexAttrib2fv(GLuint indx, const GLfloat* values);
- void glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
- void glVertexAttrib3fv(GLuint indx, const GLfloat* values);
- void glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
- void glVertexAttrib4fv(GLuint indx, const GLfloat* values);
- void glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr);
-
-private:
- QOpenGLFunctionsPrivate *d_ptr;
- static bool isInitialized(const QOpenGLFunctionsPrivate *d) { return d != 0; }
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(QOpenGLFunctions::OpenGLFeatures)
-
-struct QOpenGLFunctionsPrivate
-{
- QOpenGLFunctionsPrivate(const QGLContext *context = 0);
-
-#ifndef QT_OPENGL_ES_2
- void (QT3D_GLF_APIENTRYP activeTexture)(GLenum texture);
- void (QT3D_GLF_APIENTRYP attachShader)(GLuint program, GLuint shader);
- void (QT3D_GLF_APIENTRYP bindAttribLocation)(GLuint program, GLuint index, const char* name);
- void (QT3D_GLF_APIENTRYP bindBuffer)(GLenum target, GLuint buffer);
- void (QT3D_GLF_APIENTRYP bindFramebuffer)(GLenum target, GLuint framebuffer);
- void (QT3D_GLF_APIENTRYP bindRenderbuffer)(GLenum target, GLuint renderbuffer);
- void (QT3D_GLF_APIENTRYP blendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
- void (QT3D_GLF_APIENTRYP blendEquation)(GLenum mode);
- void (QT3D_GLF_APIENTRYP blendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha);
- void (QT3D_GLF_APIENTRYP blendFuncSeparate)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
- void (QT3D_GLF_APIENTRYP bufferData)(GLenum target, qgl_GLsizeiptr size, const void* data, GLenum usage);
- void (QT3D_GLF_APIENTRYP bufferSubData)(GLenum target, qgl_GLintptr offset, qgl_GLsizeiptr size, const void* data);
- GLenum (QT3D_GLF_APIENTRYP checkFramebufferStatus)(GLenum target);
- void (QT3D_GLF_APIENTRYP compileShader)(GLuint shader);
- void (QT3D_GLF_APIENTRYP compressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
- void (QT3D_GLF_APIENTRYP compressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
- GLuint (QT3D_GLF_APIENTRYP createProgram)();
- GLuint (QT3D_GLF_APIENTRYP createShader)(GLenum type);
- void (QT3D_GLF_APIENTRYP deleteBuffers)(GLsizei n, const GLuint* buffers);
- void (QT3D_GLF_APIENTRYP deleteFramebuffers)(GLsizei n, const GLuint* framebuffers);
- void (QT3D_GLF_APIENTRYP deleteProgram)(GLuint program);
- void (QT3D_GLF_APIENTRYP deleteRenderbuffers)(GLsizei n, const GLuint* renderbuffers);
- void (QT3D_GLF_APIENTRYP deleteShader)(GLuint shader);
- void (QT3D_GLF_APIENTRYP detachShader)(GLuint program, GLuint shader);
- void (QT3D_GLF_APIENTRYP disableVertexAttribArray)(GLuint index);
- void (QT3D_GLF_APIENTRYP enableVertexAttribArray)(GLuint index);
- void (QT3D_GLF_APIENTRYP framebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
- void (QT3D_GLF_APIENTRYP framebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
- void (QT3D_GLF_APIENTRYP genBuffers)(GLsizei n, GLuint* buffers);
- void (QT3D_GLF_APIENTRYP generateMipmap)(GLenum target);
- void (QT3D_GLF_APIENTRYP genFramebuffers)(GLsizei n, GLuint* framebuffers);
- void (QT3D_GLF_APIENTRYP genRenderbuffers)(GLsizei n, GLuint* renderbuffers);
- void (QT3D_GLF_APIENTRYP getActiveAttrib)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name);
- void (QT3D_GLF_APIENTRYP getActiveUniform)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name);
- void (QT3D_GLF_APIENTRYP getAttachedShaders)(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
- int (QT3D_GLF_APIENTRYP getAttribLocation)(GLuint program, const char* name);
- void (QT3D_GLF_APIENTRYP getBufferParameteriv)(GLenum target, GLenum pname, GLint* params);
- void (QT3D_GLF_APIENTRYP getFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint* params);
- void (QT3D_GLF_APIENTRYP getProgramiv)(GLuint program, GLenum pname, GLint* params);
- void (QT3D_GLF_APIENTRYP getProgramInfoLog)(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog);
- void (QT3D_GLF_APIENTRYP getRenderbufferParameteriv)(GLenum target, GLenum pname, GLint* params);
- void (QT3D_GLF_APIENTRYP getShaderiv)(GLuint shader, GLenum pname, GLint* params);
- void (QT3D_GLF_APIENTRYP getShaderInfoLog)(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog);
- void (QT3D_GLF_APIENTRYP getShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
- void (QT3D_GLF_APIENTRYP getShaderSource)(GLuint shader, GLsizei bufsize, GLsizei* length, char* source);
- void (QT3D_GLF_APIENTRYP getUniformfv)(GLuint program, GLint location, GLfloat* params);
- void (QT3D_GLF_APIENTRYP getUniformiv)(GLuint program, GLint location, GLint* params);
- int (QT3D_GLF_APIENTRYP getUniformLocation)(GLuint program, const char* name);
- void (QT3D_GLF_APIENTRYP getVertexAttribfv)(GLuint index, GLenum pname, GLfloat* params);
- void (QT3D_GLF_APIENTRYP getVertexAttribiv)(GLuint index, GLenum pname, GLint* params);
- void (QT3D_GLF_APIENTRYP getVertexAttribPointerv)(GLuint index, GLenum pname, void** pointer);
- GLboolean (QT3D_GLF_APIENTRYP isBuffer)(GLuint buffer);
- GLboolean (QT3D_GLF_APIENTRYP isFramebuffer)(GLuint framebuffer);
- GLboolean (QT3D_GLF_APIENTRYP isProgram)(GLuint program);
- GLboolean (QT3D_GLF_APIENTRYP isRenderbuffer)(GLuint renderbuffer);
- GLboolean (QT3D_GLF_APIENTRYP isShader)(GLuint shader);
- void (QT3D_GLF_APIENTRYP linkProgram)(GLuint program);
- void (QT3D_GLF_APIENTRYP releaseShaderCompiler)();
- void (QT3D_GLF_APIENTRYP renderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
- void (QT3D_GLF_APIENTRYP sampleCoverage)(GLclampf value, GLboolean invert);
- void (QT3D_GLF_APIENTRYP shaderBinary)(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length);
- void (QT3D_GLF_APIENTRYP shaderSource)(GLuint shader, GLsizei count, const char** string, const GLint* length);
- void (QT3D_GLF_APIENTRYP stencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask);
- void (QT3D_GLF_APIENTRYP stencilMaskSeparate)(GLenum face, GLuint mask);
- void (QT3D_GLF_APIENTRYP stencilOpSeparate)(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
- void (QT3D_GLF_APIENTRYP uniform1f)(GLint location, GLfloat x);
- void (QT3D_GLF_APIENTRYP uniform1fv)(GLint location, GLsizei count, const GLfloat* v);
- void (QT3D_GLF_APIENTRYP uniform1i)(GLint location, GLint x);
- void (QT3D_GLF_APIENTRYP uniform1iv)(GLint location, GLsizei count, const GLint* v);
- void (QT3D_GLF_APIENTRYP uniform2f)(GLint location, GLfloat x, GLfloat y);
- void (QT3D_GLF_APIENTRYP uniform2fv)(GLint location, GLsizei count, const GLfloat* v);
- void (QT3D_GLF_APIENTRYP uniform2i)(GLint location, GLint x, GLint y);
- void (QT3D_GLF_APIENTRYP uniform2iv)(GLint location, GLsizei count, const GLint* v);
- void (QT3D_GLF_APIENTRYP uniform3f)(GLint location, GLfloat x, GLfloat y, GLfloat z);
- void (QT3D_GLF_APIENTRYP uniform3fv)(GLint location, GLsizei count, const GLfloat* v);
- void (QT3D_GLF_APIENTRYP uniform3i)(GLint location, GLint x, GLint y, GLint z);
- void (QT3D_GLF_APIENTRYP uniform3iv)(GLint location, GLsizei count, const GLint* v);
- void (QT3D_GLF_APIENTRYP uniform4f)(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
- void (QT3D_GLF_APIENTRYP uniform4fv)(GLint location, GLsizei count, const GLfloat* v);
- void (QT3D_GLF_APIENTRYP uniform4i)(GLint location, GLint x, GLint y, GLint z, GLint w);
- void (QT3D_GLF_APIENTRYP uniform4iv)(GLint location, GLsizei count, const GLint* v);
- void (QT3D_GLF_APIENTRYP uniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- void (QT3D_GLF_APIENTRYP uniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- void (QT3D_GLF_APIENTRYP uniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- void (QT3D_GLF_APIENTRYP useProgram)(GLuint program);
- void (QT3D_GLF_APIENTRYP validateProgram)(GLuint program);
- void (QT3D_GLF_APIENTRYP vertexAttrib1f)(GLuint indx, GLfloat x);
- void (QT3D_GLF_APIENTRYP vertexAttrib1fv)(GLuint indx, const GLfloat* values);
- void (QT3D_GLF_APIENTRYP vertexAttrib2f)(GLuint indx, GLfloat x, GLfloat y);
- void (QT3D_GLF_APIENTRYP vertexAttrib2fv)(GLuint indx, const GLfloat* values);
- void (QT3D_GLF_APIENTRYP vertexAttrib3f)(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
- void (QT3D_GLF_APIENTRYP vertexAttrib3fv)(GLuint indx, const GLfloat* values);
- void (QT3D_GLF_APIENTRYP vertexAttrib4f)(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
- void (QT3D_GLF_APIENTRYP vertexAttrib4fv)(GLuint indx, const GLfloat* values);
- void (QT3D_GLF_APIENTRYP vertexAttribPointer)(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr);
-#endif
-};
-
-inline void QOpenGLFunctions::glActiveTexture(GLenum texture)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glActiveTexture(texture);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->activeTexture(texture);
-#endif
-}
-
-inline void QOpenGLFunctions::glAttachShader(GLuint program, GLuint shader)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glAttachShader(program, shader);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->attachShader(program, shader);
-#endif
-}
-
-inline void QOpenGLFunctions::glBindAttribLocation(GLuint program, GLuint index, const char* name)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glBindAttribLocation(program, index, name);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->bindAttribLocation(program, index, name);
-#endif
-}
-
-inline void QOpenGLFunctions::glBindBuffer(GLenum target, GLuint buffer)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glBindBuffer(target, buffer);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->bindBuffer(target, buffer);
-#endif
-}
-
-inline void QOpenGLFunctions::glBindFramebuffer(GLenum target, GLuint framebuffer)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glBindFramebuffer(target, framebuffer);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->bindFramebuffer(target, framebuffer);
-#endif
-}
-
-inline void QOpenGLFunctions::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glBindRenderbuffer(target, renderbuffer);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->bindRenderbuffer(target, renderbuffer);
-#endif
-}
-
-inline void QOpenGLFunctions::glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glBlendColor(red, green, blue, alpha);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->blendColor(red, green, blue, alpha);
-#endif
-}
-
-inline void QOpenGLFunctions::glBlendEquation(GLenum mode)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glBlendEquation(mode);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->blendEquation(mode);
-#endif
-}
-
-inline void QOpenGLFunctions::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glBlendEquationSeparate(modeRGB, modeAlpha);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->blendEquationSeparate(modeRGB, modeAlpha);
-#endif
-}
-
-inline void QOpenGLFunctions::glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
-#endif
-}
-
-inline void QOpenGLFunctions::glBufferData(GLenum target, qgl_GLsizeiptr size, const void* data, GLenum usage)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glBufferData(target, size, data, usage);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->bufferData(target, size, data, usage);
-#endif
-}
-
-inline void QOpenGLFunctions::glBufferSubData(GLenum target, qgl_GLintptr offset, qgl_GLsizeiptr size, const void* data)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glBufferSubData(target, offset, size, data);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->bufferSubData(target, offset, size, data);
-#endif
-}
-
-inline GLenum QOpenGLFunctions::glCheckFramebufferStatus(GLenum target)
-{
-#if defined(QT_OPENGL_ES_2)
- return ::glCheckFramebufferStatus(target);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- return d_ptr->checkFramebufferStatus(target);
-#endif
-}
-
-inline void QOpenGLFunctions::glClearDepthf(GLclampf depth)
-{
-#ifndef QT_OPENGL_ES
- ::glClearDepth(depth);
-#else
- ::glClearDepthf(depth);
-#endif
-}
-
-inline void QOpenGLFunctions::glCompileShader(GLuint shader)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glCompileShader(shader);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->compileShader(shader);
-#endif
-}
-
-inline void QOpenGLFunctions::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->compressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
-#endif
-}
-
-inline void QOpenGLFunctions::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
-#endif
-}
-
-inline GLuint QOpenGLFunctions::glCreateProgram()
-{
-#if defined(QT_OPENGL_ES_2)
- return ::glCreateProgram();
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- return d_ptr->createProgram();
-#endif
-}
-
-inline GLuint QOpenGLFunctions::glCreateShader(GLenum type)
-{
-#if defined(QT_OPENGL_ES_2)
- return ::glCreateShader(type);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- return d_ptr->createShader(type);
-#endif
-}
-
-inline void QOpenGLFunctions::glDeleteBuffers(GLsizei n, const GLuint* buffers)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glDeleteBuffers(n, buffers);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->deleteBuffers(n, buffers);
-#endif
-}
-
-inline void QOpenGLFunctions::glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glDeleteFramebuffers(n, framebuffers);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->deleteFramebuffers(n, framebuffers);
-#endif
-}
-
-inline void QOpenGLFunctions::glDeleteProgram(GLuint program)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glDeleteProgram(program);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->deleteProgram(program);
-#endif
-}
-
-inline void QOpenGLFunctions::glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glDeleteRenderbuffers(n, renderbuffers);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->deleteRenderbuffers(n, renderbuffers);
-#endif
-}
-
-inline void QOpenGLFunctions::glDeleteShader(GLuint shader)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glDeleteShader(shader);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->deleteShader(shader);
-#endif
-}
-
-inline void QOpenGLFunctions::glDepthRangef(GLclampf zNear, GLclampf zFar)
-{
-#ifndef QT_OPENGL_ES
- ::glDepthRange(zNear, zFar);
-#else
- ::glDepthRangef(zNear, zFar);
-#endif
-}
-
-inline void QOpenGLFunctions::glDetachShader(GLuint program, GLuint shader)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glDetachShader(program, shader);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->detachShader(program, shader);
-#endif
-}
-
-inline void QOpenGLFunctions::glDisableVertexAttribArray(GLuint index)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glDisableVertexAttribArray(index);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->disableVertexAttribArray(index);
-#endif
-}
-
-inline void QOpenGLFunctions::glEnableVertexAttribArray(GLuint index)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glEnableVertexAttribArray(index);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->enableVertexAttribArray(index);
-#endif
-}
-
-inline void QOpenGLFunctions::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
-#endif
-}
-
-inline void QOpenGLFunctions::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glFramebufferTexture2D(target, attachment, textarget, texture, level);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->framebufferTexture2D(target, attachment, textarget, texture, level);
-#endif
-}
-
-inline void QOpenGLFunctions::glGenBuffers(GLsizei n, GLuint* buffers)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGenBuffers(n, buffers);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->genBuffers(n, buffers);
-#endif
-}
-
-inline void QOpenGLFunctions::glGenerateMipmap(GLenum target)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGenerateMipmap(target);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->generateMipmap(target);
-#endif
-}
-
-inline void QOpenGLFunctions::glGenFramebuffers(GLsizei n, GLuint* framebuffers)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGenFramebuffers(n, framebuffers);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->genFramebuffers(n, framebuffers);
-#endif
-}
-
-inline void QOpenGLFunctions::glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGenRenderbuffers(n, renderbuffers);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->genRenderbuffers(n, renderbuffers);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetActiveAttrib(program, index, bufsize, length, size, type, name);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getActiveAttrib(program, index, bufsize, length, size, type, name);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetActiveUniform(program, index, bufsize, length, size, type, name);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getActiveUniform(program, index, bufsize, length, size, type, name);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetAttachedShaders(program, maxcount, count, shaders);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getAttachedShaders(program, maxcount, count, shaders);
-#endif
-}
-
-inline int QOpenGLFunctions::glGetAttribLocation(GLuint program, const char* name)
-{
-#if defined(QT_OPENGL_ES_2)
- return ::glGetAttribLocation(program, name);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- return d_ptr->getAttribLocation(program, name);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetBufferParameteriv(target, pname, params);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getBufferParameteriv(target, pname, params);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getFramebufferAttachmentParameteriv(target, attachment, pname, params);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetProgramiv(GLuint program, GLenum pname, GLint* params)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetProgramiv(program, pname, params);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getProgramiv(program, pname, params);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetProgramInfoLog(program, bufsize, length, infolog);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getProgramInfoLog(program, bufsize, length, infolog);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetRenderbufferParameteriv(target, pname, params);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getRenderbufferParameteriv(target, pname, params);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetShaderiv(GLuint shader, GLenum pname, GLint* params)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetShaderiv(shader, pname, params);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getShaderiv(shader, pname, params);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetShaderInfoLog(shader, bufsize, length, infolog);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getShaderInfoLog(shader, bufsize, length, infolog);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getShaderPrecisionFormat(shadertype, precisiontype, range, precision);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, char* source)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetShaderSource(shader, bufsize, length, source);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getShaderSource(shader, bufsize, length, source);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetUniformfv(GLuint program, GLint location, GLfloat* params)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetUniformfv(program, location, params);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getUniformfv(program, location, params);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetUniformiv(GLuint program, GLint location, GLint* params)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetUniformiv(program, location, params);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getUniformiv(program, location, params);
-#endif
-}
-
-inline int QOpenGLFunctions::glGetUniformLocation(GLuint program, const char* name)
-{
-#if defined(QT_OPENGL_ES_2)
- return ::glGetUniformLocation(program, name);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- return d_ptr->getUniformLocation(program, name);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetVertexAttribfv(index, pname, params);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getVertexAttribfv(index, pname, params);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetVertexAttribiv(index, pname, params);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getVertexAttribiv(index, pname, params);
-#endif
-}
-
-inline void QOpenGLFunctions::glGetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glGetVertexAttribPointerv(index, pname, pointer);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->getVertexAttribPointerv(index, pname, pointer);
-#endif
-}
-
-inline GLboolean QOpenGLFunctions::glIsBuffer(GLuint buffer)
-{
-#if defined(QT_OPENGL_ES_2)
- return ::glIsBuffer(buffer);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- return d_ptr->isBuffer(buffer);
-#endif
-}
-
-inline GLboolean QOpenGLFunctions::glIsFramebuffer(GLuint framebuffer)
-{
-#if defined(QT_OPENGL_ES_2)
- return ::glIsFramebuffer(framebuffer);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- return d_ptr->isFramebuffer(framebuffer);
-#endif
-}
-
-inline GLboolean QOpenGLFunctions::glIsProgram(GLuint program)
-{
-#if defined(QT_OPENGL_ES_2)
- return ::glIsProgram(program);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- return d_ptr->isProgram(program);
-#endif
-}
-
-inline GLboolean QOpenGLFunctions::glIsRenderbuffer(GLuint renderbuffer)
-{
-#if defined(QT_OPENGL_ES_2)
- return ::glIsRenderbuffer(renderbuffer);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- return d_ptr->isRenderbuffer(renderbuffer);
-#endif
-}
-
-inline GLboolean QOpenGLFunctions::glIsShader(GLuint shader)
-{
-#if defined(QT_OPENGL_ES_2)
- return ::glIsShader(shader);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- return d_ptr->isShader(shader);
-#endif
-}
-
-inline void QOpenGLFunctions::glLinkProgram(GLuint program)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glLinkProgram(program);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->linkProgram(program);
-#endif
-}
-
-inline void QOpenGLFunctions::glReleaseShaderCompiler()
-{
-#if defined(QT_OPENGL_ES_2)
- ::glReleaseShaderCompiler();
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->releaseShaderCompiler();
-#endif
-}
-
-inline void QOpenGLFunctions::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glRenderbufferStorage(target, internalformat, width, height);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->renderbufferStorage(target, internalformat, width, height);
-#endif
-}
-
-inline void QOpenGLFunctions::glSampleCoverage(GLclampf value, GLboolean invert)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glSampleCoverage(value, invert);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->sampleCoverage(value, invert);
-#endif
-}
-
-inline void QOpenGLFunctions::glShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glShaderBinary(n, shaders, binaryformat, binary, length);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->shaderBinary(n, shaders, binaryformat, binary, length);
-#endif
-}
-
-inline void QOpenGLFunctions::glShaderSource(GLuint shader, GLsizei count, const char** string, const GLint* length)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glShaderSource(shader, count, string, length);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->shaderSource(shader, count, string, length);
-#endif
-}
-
-inline void QOpenGLFunctions::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glStencilFuncSeparate(face, func, ref, mask);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->stencilFuncSeparate(face, func, ref, mask);
-#endif
-}
-
-inline void QOpenGLFunctions::glStencilMaskSeparate(GLenum face, GLuint mask)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glStencilMaskSeparate(face, mask);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->stencilMaskSeparate(face, mask);
-#endif
-}
-
-inline void QOpenGLFunctions::glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glStencilOpSeparate(face, fail, zfail, zpass);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->stencilOpSeparate(face, fail, zfail, zpass);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform1f(GLint location, GLfloat x)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform1f(location, x);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform1f(location, x);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform1fv(GLint location, GLsizei count, const GLfloat* v)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform1fv(location, count, v);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform1fv(location, count, v);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform1i(GLint location, GLint x)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform1i(location, x);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform1i(location, x);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform1iv(GLint location, GLsizei count, const GLint* v)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform1iv(location, count, v);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform1iv(location, count, v);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform2f(GLint location, GLfloat x, GLfloat y)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform2f(location, x, y);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform2f(location, x, y);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform2fv(GLint location, GLsizei count, const GLfloat* v)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform2fv(location, count, v);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform2fv(location, count, v);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform2i(GLint location, GLint x, GLint y)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform2i(location, x, y);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform2i(location, x, y);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform2iv(GLint location, GLsizei count, const GLint* v)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform2iv(location, count, v);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform2iv(location, count, v);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform3f(location, x, y, z);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform3f(location, x, y, z);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform3fv(GLint location, GLsizei count, const GLfloat* v)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform3fv(location, count, v);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform3fv(location, count, v);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform3i(GLint location, GLint x, GLint y, GLint z)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform3i(location, x, y, z);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform3i(location, x, y, z);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform3iv(GLint location, GLsizei count, const GLint* v)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform3iv(location, count, v);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform3iv(location, count, v);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform4f(location, x, y, z, w);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform4f(location, x, y, z, w);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform4fv(GLint location, GLsizei count, const GLfloat* v)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform4fv(location, count, v);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform4fv(location, count, v);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform4i(location, x, y, z, w);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform4i(location, x, y, z, w);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniform4iv(GLint location, GLsizei count, const GLint* v)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniform4iv(location, count, v);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniform4iv(location, count, v);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniformMatrix2fv(location, count, transpose, value);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniformMatrix2fv(location, count, transpose, value);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniformMatrix3fv(location, count, transpose, value);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniformMatrix3fv(location, count, transpose, value);
-#endif
-}
-
-inline void QOpenGLFunctions::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUniformMatrix4fv(location, count, transpose, value);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->uniformMatrix4fv(location, count, transpose, value);
-#endif
-}
-
-inline void QOpenGLFunctions::glUseProgram(GLuint program)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glUseProgram(program);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->useProgram(program);
-#endif
-}
-
-inline void QOpenGLFunctions::glValidateProgram(GLuint program)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glValidateProgram(program);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->validateProgram(program);
-#endif
-}
-
-inline void QOpenGLFunctions::glVertexAttrib1f(GLuint indx, GLfloat x)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glVertexAttrib1f(indx, x);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->vertexAttrib1f(indx, x);
-#endif
-}
-
-inline void QOpenGLFunctions::glVertexAttrib1fv(GLuint indx, const GLfloat* values)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glVertexAttrib1fv(indx, values);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->vertexAttrib1fv(indx, values);
-#endif
-}
-
-inline void QOpenGLFunctions::glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glVertexAttrib2f(indx, x, y);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->vertexAttrib2f(indx, x, y);
-#endif
-}
-
-inline void QOpenGLFunctions::glVertexAttrib2fv(GLuint indx, const GLfloat* values)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glVertexAttrib2fv(indx, values);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->vertexAttrib2fv(indx, values);
-#endif
-}
-
-inline void QOpenGLFunctions::glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glVertexAttrib3f(indx, x, y, z);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->vertexAttrib3f(indx, x, y, z);
-#endif
-}
-
-inline void QOpenGLFunctions::glVertexAttrib3fv(GLuint indx, const GLfloat* values)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glVertexAttrib3fv(indx, values);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->vertexAttrib3fv(indx, values);
-#endif
-}
-
-inline void QOpenGLFunctions::glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glVertexAttrib4f(indx, x, y, z, w);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->vertexAttrib4f(indx, x, y, z, w);
-#endif
-}
-
-inline void QOpenGLFunctions::glVertexAttrib4fv(GLuint indx, const GLfloat* values)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glVertexAttrib4fv(indx, values);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->vertexAttrib4fv(indx, values);
-#endif
-}
-
-inline void QOpenGLFunctions::glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr)
-{
-#if defined(QT_OPENGL_ES_2)
- ::glVertexAttribPointer(indx, size, type, normalized, stride, ptr);
-#else
- Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr));
- d_ptr->vertexAttribPointer(indx, size, type, normalized, stride, ptr);
-#endif
-}
-
-#ifndef GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
-#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
-#endif
-#ifndef GL_ACTIVE_ATTRIBUTES
-#define GL_ACTIVE_ATTRIBUTES 0x8B89
-#endif
-#ifndef GL_ACTIVE_TEXTURE
-#define GL_ACTIVE_TEXTURE 0x84E0
-#endif
-#ifndef GL_ACTIVE_UNIFORM_MAX_LENGTH
-#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
-#endif
-#ifndef GL_ACTIVE_UNIFORMS
-#define GL_ACTIVE_UNIFORMS 0x8B86
-#endif
-#ifndef GL_ALIASED_LINE_WIDTH_RANGE
-#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
-#endif
-#ifndef GL_ALIASED_POINT_SIZE_RANGE
-#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
-#endif
-#ifndef GL_ALPHA
-#define GL_ALPHA 0x1906
-#endif
-#ifndef GL_ALPHA_BITS
-#define GL_ALPHA_BITS 0x0D55
-#endif
-#ifndef GL_ALWAYS
-#define GL_ALWAYS 0x0207
-#endif
-#ifndef GL_ARRAY_BUFFER
-#define GL_ARRAY_BUFFER 0x8892
-#endif
-#ifndef GL_ARRAY_BUFFER_BINDING
-#define GL_ARRAY_BUFFER_BINDING 0x8894
-#endif
-#ifndef GL_ATTACHED_SHADERS
-#define GL_ATTACHED_SHADERS 0x8B85
-#endif
-#ifndef GL_BACK
-#define GL_BACK 0x0405
-#endif
-#ifndef GL_BLEND
-#define GL_BLEND 0x0BE2
-#endif
-#ifndef GL_BLEND_COLOR
-#define GL_BLEND_COLOR 0x8005
-#endif
-#ifndef GL_BLEND_DST_ALPHA
-#define GL_BLEND_DST_ALPHA 0x80CA
-#endif
-#ifndef GL_BLEND_DST_RGB
-#define GL_BLEND_DST_RGB 0x80C8
-#endif
-#ifndef GL_BLEND_EQUATION
-#define GL_BLEND_EQUATION 0x8009
-#endif
-#ifndef GL_BLEND_EQUATION_ALPHA
-#define GL_BLEND_EQUATION_ALPHA 0x883D
-#endif
-#ifndef GL_BLEND_EQUATION_RGB
-#define GL_BLEND_EQUATION_RGB 0x8009
-#endif
-#ifndef GL_BLEND_SRC_ALPHA
-#define GL_BLEND_SRC_ALPHA 0x80CB
-#endif
-#ifndef GL_BLEND_SRC_RGB
-#define GL_BLEND_SRC_RGB 0x80C9
-#endif
-#ifndef GL_BLUE_BITS
-#define GL_BLUE_BITS 0x0D54
-#endif
-#ifndef GL_BOOL
-#define GL_BOOL 0x8B56
-#endif
-#ifndef GL_BOOL_VEC2
-#define GL_BOOL_VEC2 0x8B57
-#endif
-#ifndef GL_BOOL_VEC3
-#define GL_BOOL_VEC3 0x8B58
-#endif
-#ifndef GL_BOOL_VEC4
-#define GL_BOOL_VEC4 0x8B59
-#endif
-#ifndef GL_BUFFER_SIZE
-#define GL_BUFFER_SIZE 0x8764
-#endif
-#ifndef GL_BUFFER_USAGE
-#define GL_BUFFER_USAGE 0x8765
-#endif
-#ifndef GL_BYTE
-#define GL_BYTE 0x1400
-#endif
-#ifndef GL_CCW
-#define GL_CCW 0x0901
-#endif
-#ifndef GL_CLAMP_TO_EDGE
-#define GL_CLAMP_TO_EDGE 0x812F
-#endif
-#ifndef GL_COLOR_ATTACHMENT0
-#define GL_COLOR_ATTACHMENT0 0x8CE0
-#endif
-#ifndef GL_COLOR_BUFFER_BIT
-#define GL_COLOR_BUFFER_BIT 0x00004000
-#endif
-#ifndef GL_COLOR_CLEAR_VALUE
-#define GL_COLOR_CLEAR_VALUE 0x0C22
-#endif
-#ifndef GL_COLOR_WRITEMASK
-#define GL_COLOR_WRITEMASK 0x0C23
-#endif
-#ifndef GL_COMPILE_STATUS
-#define GL_COMPILE_STATUS 0x8B81
-#endif
-#ifndef GL_COMPRESSED_TEXTURE_FORMATS
-#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
-#endif
-#ifndef GL_CONSTANT_ALPHA
-#define GL_CONSTANT_ALPHA 0x8003
-#endif
-#ifndef GL_CONSTANT_COLOR
-#define GL_CONSTANT_COLOR 0x8001
-#endif
-#ifndef GL_CULL_FACE
-#define GL_CULL_FACE 0x0B44
-#endif
-#ifndef GL_CULL_FACE_MODE
-#define GL_CULL_FACE_MODE 0x0B45
-#endif
-#ifndef GL_CURRENT_PROGRAM
-#define GL_CURRENT_PROGRAM 0x8B8D
-#endif
-#ifndef GL_CURRENT_VERTEX_ATTRIB
-#define GL_CURRENT_VERTEX_ATTRIB 0x8626
-#endif
-#ifndef GL_CW
-#define GL_CW 0x0900
-#endif
-#ifndef GL_DECR
-#define GL_DECR 0x1E03
-#endif
-#ifndef GL_DECR_WRAP
-#define GL_DECR_WRAP 0x8508
-#endif
-#ifndef GL_DELETE_STATUS
-#define GL_DELETE_STATUS 0x8B80
-#endif
-#ifndef GL_DEPTH_ATTACHMENT
-#define GL_DEPTH_ATTACHMENT 0x8D00
-#endif
-#ifndef GL_DEPTH_BITS
-#define GL_DEPTH_BITS 0x0D56
-#endif
-#ifndef GL_DEPTH_BUFFER_BIT
-#define GL_DEPTH_BUFFER_BIT 0x00000100
-#endif
-#ifndef GL_DEPTH_CLEAR_VALUE
-#define GL_DEPTH_CLEAR_VALUE 0x0B73
-#endif
-#ifndef GL_DEPTH_COMPONENT
-#define GL_DEPTH_COMPONENT 0x1902
-#endif
-#ifndef GL_DEPTH_COMPONENT16
-#define GL_DEPTH_COMPONENT16 0x81A5
-#endif
-#ifndef GL_DEPTH_FUNC
-#define GL_DEPTH_FUNC 0x0B74
-#endif
-#ifndef GL_DEPTH_RANGE
-#define GL_DEPTH_RANGE 0x0B70
-#endif
-#ifndef GL_DEPTH_TEST
-#define GL_DEPTH_TEST 0x0B71
-#endif
-#ifndef GL_DEPTH_WRITEMASK
-#define GL_DEPTH_WRITEMASK 0x0B72
-#endif
-#ifndef GL_DITHER
-#define GL_DITHER 0x0BD0
-#endif
-#ifndef GL_DONT_CARE
-#define GL_DONT_CARE 0x1100
-#endif
-#ifndef GL_DST_ALPHA
-#define GL_DST_ALPHA 0x0304
-#endif
-#ifndef GL_DST_COLOR
-#define GL_DST_COLOR 0x0306
-#endif
-#ifndef GL_DYNAMIC_DRAW
-#define GL_DYNAMIC_DRAW 0x88E8
-#endif
-#ifndef GL_ELEMENT_ARRAY_BUFFER
-#define GL_ELEMENT_ARRAY_BUFFER 0x8893
-#endif
-#ifndef GL_ELEMENT_ARRAY_BUFFER_BINDING
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
-#endif
-#ifndef GL_EQUAL
-#define GL_EQUAL 0x0202
-#endif
-#ifndef GL_EXTENSIONS
-#define GL_EXTENSIONS 0x1F03
-#endif
-#ifndef GL_FALSE
-#define GL_FALSE 0
-#endif
-#ifndef GL_FASTEST
-#define GL_FASTEST 0x1101
-#endif
-#ifndef GL_FIXED
-#define GL_FIXED 0x140C
-#endif
-#ifndef GL_FLOAT
-#define GL_FLOAT 0x1406
-#endif
-#ifndef GL_FLOAT_MAT2
-#define GL_FLOAT_MAT2 0x8B5A
-#endif
-#ifndef GL_FLOAT_MAT3
-#define GL_FLOAT_MAT3 0x8B5B
-#endif
-#ifndef GL_FLOAT_MAT4
-#define GL_FLOAT_MAT4 0x8B5C
-#endif
-#ifndef GL_FLOAT_VEC2
-#define GL_FLOAT_VEC2 0x8B50
-#endif
-#ifndef GL_FLOAT_VEC3
-#define GL_FLOAT_VEC3 0x8B51
-#endif
-#ifndef GL_FLOAT_VEC4
-#define GL_FLOAT_VEC4 0x8B52
-#endif
-#ifndef GL_FRAGMENT_SHADER
-#define GL_FRAGMENT_SHADER 0x8B30
-#endif
-#ifndef GL_FRAMEBUFFER
-#define GL_FRAMEBUFFER 0x8D40
-#endif
-#ifndef GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
-#endif
-#ifndef GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
-#endif
-#ifndef GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
-#endif
-#ifndef GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
-#endif
-#ifndef GL_FRAMEBUFFER_BINDING
-#define GL_FRAMEBUFFER_BINDING 0x8CA6
-#endif
-#ifndef GL_FRAMEBUFFER_COMPLETE
-#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
-#endif
-#ifndef GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
-#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
-#endif
-#ifndef GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
-#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
-#endif
-#ifndef GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
-#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
-#endif
-#ifndef GL_FRAMEBUFFER_UNSUPPORTED
-#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
-#endif
-#ifndef GL_FRONT
-#define GL_FRONT 0x0404
-#endif
-#ifndef GL_FRONT_AND_BACK
-#define GL_FRONT_AND_BACK 0x0408
-#endif
-#ifndef GL_FRONT_FACE
-#define GL_FRONT_FACE 0x0B46
-#endif
-#ifndef GL_FUNC_ADD
-#define GL_FUNC_ADD 0x8006
-#endif
-#ifndef GL_FUNC_REVERSE_SUBTRACT
-#define GL_FUNC_REVERSE_SUBTRACT 0x800B
-#endif
-#ifndef GL_FUNC_SUBTRACT
-#define GL_FUNC_SUBTRACT 0x800A
-#endif
-#ifndef GL_GENERATE_MIPMAP_HINT
-#define GL_GENERATE_MIPMAP_HINT 0x8192
-#endif
-#ifndef GL_GEQUAL
-#define GL_GEQUAL 0x0206
-#endif
-#ifndef GL_GREATER
-#define GL_GREATER 0x0204
-#endif
-#ifndef GL_GREEN_BITS
-#define GL_GREEN_BITS 0x0D53
-#endif
-#ifndef GL_HIGH_FLOAT
-#define GL_HIGH_FLOAT 0x8DF2
-#endif
-#ifndef GL_HIGH_INT
-#define GL_HIGH_INT 0x8DF5
-#endif
-#ifndef GL_IMPLEMENTATION_COLOR_READ_FORMAT
-#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
-#endif
-#ifndef GL_IMPLEMENTATION_COLOR_READ_TYPE
-#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
-#endif
-#ifndef GL_INCR
-#define GL_INCR 0x1E02
-#endif
-#ifndef GL_INCR_WRAP
-#define GL_INCR_WRAP 0x8507
-#endif
-#ifndef GL_INFO_LOG_LENGTH
-#define GL_INFO_LOG_LENGTH 0x8B84
-#endif
-#ifndef GL_INT
-#define GL_INT 0x1404
-#endif
-#ifndef GL_INT_VEC2
-#define GL_INT_VEC2 0x8B53
-#endif
-#ifndef GL_INT_VEC3
-#define GL_INT_VEC3 0x8B54
-#endif
-#ifndef GL_INT_VEC4
-#define GL_INT_VEC4 0x8B55
-#endif
-#ifndef GL_INVALID_ENUM
-#define GL_INVALID_ENUM 0x0500
-#endif
-#ifndef GL_INVALID_FRAMEBUFFER_OPERATION
-#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
-#endif
-#ifndef GL_INVALID_OPERATION
-#define GL_INVALID_OPERATION 0x0502
-#endif
-#ifndef GL_INVALID_VALUE
-#define GL_INVALID_VALUE 0x0501
-#endif
-#ifndef GL_INVERT
-#define GL_INVERT 0x150A
-#endif
-#ifndef GL_KEEP
-#define GL_KEEP 0x1E00
-#endif
-#ifndef GL_LEQUAL
-#define GL_LEQUAL 0x0203
-#endif
-#ifndef GL_LESS
-#define GL_LESS 0x0201
-#endif
-#ifndef GL_LINEAR
-#define GL_LINEAR 0x2601
-#endif
-#ifndef GL_LINEAR_MIPMAP_LINEAR
-#define GL_LINEAR_MIPMAP_LINEAR 0x2703
-#endif
-#ifndef GL_LINEAR_MIPMAP_NEAREST
-#define GL_LINEAR_MIPMAP_NEAREST 0x2701
-#endif
-#ifndef GL_LINE_LOOP
-#define GL_LINE_LOOP 0x0002
-#endif
-#ifndef GL_LINES
-#define GL_LINES 0x0001
-#endif
-#ifndef GL_LINE_STRIP
-#define GL_LINE_STRIP 0x0003
-#endif
-#ifndef GL_LINE_WIDTH
-#define GL_LINE_WIDTH 0x0B21
-#endif
-#ifndef GL_LINK_STATUS
-#define GL_LINK_STATUS 0x8B82
-#endif
-#ifndef GL_LOW_FLOAT
-#define GL_LOW_FLOAT 0x8DF0
-#endif
-#ifndef GL_LOW_INT
-#define GL_LOW_INT 0x8DF3
-#endif
-#ifndef GL_LUMINANCE
-#define GL_LUMINANCE 0x1909
-#endif
-#ifndef GL_LUMINANCE_ALPHA
-#define GL_LUMINANCE_ALPHA 0x190A
-#endif
-#ifndef GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
-#endif
-#ifndef GL_MAX_CUBE_MAP_TEXTURE_SIZE
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
-#endif
-#ifndef GL_MAX_FRAGMENT_UNIFORM_VECTORS
-#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
-#endif
-#ifndef GL_MAX_RENDERBUFFER_SIZE
-#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
-#endif
-#ifndef GL_MAX_TEXTURE_IMAGE_UNITS
-#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
-#endif
-#ifndef GL_MAX_TEXTURE_SIZE
-#define GL_MAX_TEXTURE_SIZE 0x0D33
-#endif
-#ifndef GL_MAX_VARYING_VECTORS
-#define GL_MAX_VARYING_VECTORS 0x8DFC
-#endif
-#ifndef GL_MAX_VERTEX_ATTRIBS
-#define GL_MAX_VERTEX_ATTRIBS 0x8869
-#endif
-#ifndef GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
-#endif
-#ifndef GL_MAX_VERTEX_UNIFORM_VECTORS
-#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
-#endif
-#ifndef GL_MAX_VIEWPORT_DIMS
-#define GL_MAX_VIEWPORT_DIMS 0x0D3A
-#endif
-#ifndef GL_MEDIUM_FLOAT
-#define GL_MEDIUM_FLOAT 0x8DF1
-#endif
-#ifndef GL_MEDIUM_INT
-#define GL_MEDIUM_INT 0x8DF4
-#endif
-#ifndef GL_MIRRORED_REPEAT
-#define GL_MIRRORED_REPEAT 0x8370
-#endif
-#ifndef GL_NEAREST
-#define GL_NEAREST 0x2600
-#endif
-#ifndef GL_NEAREST_MIPMAP_LINEAR
-#define GL_NEAREST_MIPMAP_LINEAR 0x2702
-#endif
-#ifndef GL_NEAREST_MIPMAP_NEAREST
-#define GL_NEAREST_MIPMAP_NEAREST 0x2700
-#endif
-#ifndef GL_NEVER
-#define GL_NEVER 0x0200
-#endif
-#ifndef GL_NICEST
-#define GL_NICEST 0x1102
-#endif
-#ifndef GL_NO_ERROR
-#define GL_NO_ERROR 0
-#endif
-#ifndef GL_NONE
-#define GL_NONE 0
-#endif
-#ifndef GL_NOTEQUAL
-#define GL_NOTEQUAL 0x0205
-#endif
-#ifndef GL_NUM_COMPRESSED_TEXTURE_FORMATS
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
-#endif
-#ifndef GL_NUM_SHADER_BINARY_FORMATS
-#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
-#endif
-#ifndef GL_ONE
-#define GL_ONE 1
-#endif
-#ifndef GL_ONE_MINUS_CONSTANT_ALPHA
-#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
-#endif
-#ifndef GL_ONE_MINUS_CONSTANT_COLOR
-#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
-#endif
-#ifndef GL_ONE_MINUS_DST_ALPHA
-#define GL_ONE_MINUS_DST_ALPHA 0x0305
-#endif
-#ifndef GL_ONE_MINUS_DST_COLOR
-#define GL_ONE_MINUS_DST_COLOR 0x0307
-#endif
-#ifndef GL_ONE_MINUS_SRC_ALPHA
-#define GL_ONE_MINUS_SRC_ALPHA 0x0303
-#endif
-#ifndef GL_ONE_MINUS_SRC_COLOR
-#define GL_ONE_MINUS_SRC_COLOR 0x0301
-#endif
-#ifndef GL_OUT_OF_MEMORY
-#define GL_OUT_OF_MEMORY 0x0505
-#endif
-#ifndef GL_PACK_ALIGNMENT
-#define GL_PACK_ALIGNMENT 0x0D05
-#endif
-#ifndef GL_POINTS
-#define GL_POINTS 0x0000
-#endif
-#ifndef GL_POLYGON_OFFSET_FACTOR
-#define GL_POLYGON_OFFSET_FACTOR 0x8038
-#endif
-#ifndef GL_POLYGON_OFFSET_FILL
-#define GL_POLYGON_OFFSET_FILL 0x8037
-#endif
-#ifndef GL_POLYGON_OFFSET_UNITS
-#define GL_POLYGON_OFFSET_UNITS 0x2A00
-#endif
-#ifndef GL_RED_BITS
-#define GL_RED_BITS 0x0D52
-#endif
-#ifndef GL_RENDERBUFFER
-#define GL_RENDERBUFFER 0x8D41
-#endif
-#ifndef GL_RENDERBUFFER_ALPHA_SIZE
-#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
-#endif
-#ifndef GL_RENDERBUFFER_BINDING
-#define GL_RENDERBUFFER_BINDING 0x8CA7
-#endif
-#ifndef GL_RENDERBUFFER_BLUE_SIZE
-#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
-#endif
-#ifndef GL_RENDERBUFFER_DEPTH_SIZE
-#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
-#endif
-#ifndef GL_RENDERBUFFER_GREEN_SIZE
-#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
-#endif
-#ifndef GL_RENDERBUFFER_HEIGHT
-#define GL_RENDERBUFFER_HEIGHT 0x8D43
-#endif
-#ifndef GL_RENDERBUFFER_INTERNAL_FORMAT
-#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
-#endif
-#ifndef GL_RENDERBUFFER_RED_SIZE
-#define GL_RENDERBUFFER_RED_SIZE 0x8D50
-#endif
-#ifndef GL_RENDERBUFFER_STENCIL_SIZE
-#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
-#endif
-#ifndef GL_RENDERBUFFER_WIDTH
-#define GL_RENDERBUFFER_WIDTH 0x8D42
-#endif
-#ifndef GL_RENDERER
-#define GL_RENDERER 0x1F01
-#endif
-#ifndef GL_REPEAT
-#define GL_REPEAT 0x2901
-#endif
-#ifndef GL_REPLACE
-#define GL_REPLACE 0x1E01
-#endif
-#ifndef GL_RGB
-#define GL_RGB 0x1907
-#endif
-#ifndef GL_RGB565
-#define GL_RGB565 0x8D62
-#endif
-#ifndef GL_RGB5_A1
-#define GL_RGB5_A1 0x8057
-#endif
-#ifndef GL_RGBA
-#define GL_RGBA 0x1908
-#endif
-#ifndef GL_RGBA4
-#define GL_RGBA4 0x8056
-#endif
-#ifndef GL_SAMPLE_ALPHA_TO_COVERAGE
-#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
-#endif
-#ifndef GL_SAMPLE_BUFFERS
-#define GL_SAMPLE_BUFFERS 0x80A8
-#endif
-#ifndef GL_SAMPLE_COVERAGE
-#define GL_SAMPLE_COVERAGE 0x80A0
-#endif
-#ifndef GL_SAMPLE_COVERAGE_INVERT
-#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
-#endif
-#ifndef GL_SAMPLE_COVERAGE_VALUE
-#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
-#endif
-#ifndef GL_SAMPLER_2D
-#define GL_SAMPLER_2D 0x8B5E
-#endif
-#ifndef GL_SAMPLER_CUBE
-#define GL_SAMPLER_CUBE 0x8B60
-#endif
-#ifndef GL_SAMPLES
-#define GL_SAMPLES 0x80A9
-#endif
-#ifndef GL_SCISSOR_BOX
-#define GL_SCISSOR_BOX 0x0C10
-#endif
-#ifndef GL_SCISSOR_TEST
-#define GL_SCISSOR_TEST 0x0C11
-#endif
-#ifndef GL_SHADER_BINARY_FORMATS
-#define GL_SHADER_BINARY_FORMATS 0x8DF8
-#endif
-#ifndef GL_SHADER_COMPILER
-#define GL_SHADER_COMPILER 0x8DFA
-#endif
-#ifndef GL_SHADER_SOURCE_LENGTH
-#define GL_SHADER_SOURCE_LENGTH 0x8B88
-#endif
-#ifndef GL_SHADER_TYPE
-#define GL_SHADER_TYPE 0x8B4F
-#endif
-#ifndef GL_SHADING_LANGUAGE_VERSION
-#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
-#endif
-#ifndef GL_SHORT
-#define GL_SHORT 0x1402
-#endif
-#ifndef GL_SRC_ALPHA
-#define GL_SRC_ALPHA 0x0302
-#endif
-#ifndef GL_SRC_ALPHA_SATURATE
-#define GL_SRC_ALPHA_SATURATE 0x0308
-#endif
-#ifndef GL_SRC_COLOR
-#define GL_SRC_COLOR 0x0300
-#endif
-#ifndef GL_STATIC_DRAW
-#define GL_STATIC_DRAW 0x88E4
-#endif
-#ifndef GL_STENCIL_ATTACHMENT
-#define GL_STENCIL_ATTACHMENT 0x8D20
-#endif
-#ifndef GL_STENCIL_BACK_FAIL
-#define GL_STENCIL_BACK_FAIL 0x8801
-#endif
-#ifndef GL_STENCIL_BACK_FUNC
-#define GL_STENCIL_BACK_FUNC 0x8800
-#endif
-#ifndef GL_STENCIL_BACK_PASS_DEPTH_FAIL
-#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
-#endif
-#ifndef GL_STENCIL_BACK_PASS_DEPTH_PASS
-#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
-#endif
-#ifndef GL_STENCIL_BACK_REF
-#define GL_STENCIL_BACK_REF 0x8CA3
-#endif
-#ifndef GL_STENCIL_BACK_VALUE_MASK
-#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
-#endif
-#ifndef GL_STENCIL_BACK_WRITEMASK
-#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
-#endif
-#ifndef GL_STENCIL_BITS
-#define GL_STENCIL_BITS 0x0D57
-#endif
-#ifndef GL_STENCIL_BUFFER_BIT
-#define GL_STENCIL_BUFFER_BIT 0x00000400
-#endif
-#ifndef GL_STENCIL_CLEAR_VALUE
-#define GL_STENCIL_CLEAR_VALUE 0x0B91
-#endif
-#ifndef GL_STENCIL_FAIL
-#define GL_STENCIL_FAIL 0x0B94
-#endif
-#ifndef GL_STENCIL_FUNC
-#define GL_STENCIL_FUNC 0x0B92
-#endif
-#ifndef GL_STENCIL_INDEX
-#define GL_STENCIL_INDEX 0x1901
-#endif
-#ifndef GL_STENCIL_INDEX8
-#define GL_STENCIL_INDEX8 0x8D48
-#endif
-#ifndef GL_STENCIL_PASS_DEPTH_FAIL
-#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
-#endif
-#ifndef GL_STENCIL_PASS_DEPTH_PASS
-#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
-#endif
-#ifndef GL_STENCIL_REF
-#define GL_STENCIL_REF 0x0B97
-#endif
-#ifndef GL_STENCIL_TEST
-#define GL_STENCIL_TEST 0x0B90
-#endif
-#ifndef GL_STENCIL_VALUE_MASK
-#define GL_STENCIL_VALUE_MASK 0x0B93
-#endif
-#ifndef GL_STENCIL_WRITEMASK
-#define GL_STENCIL_WRITEMASK 0x0B98
-#endif
-#ifndef GL_STREAM_DRAW
-#define GL_STREAM_DRAW 0x88E0
-#endif
-#ifndef GL_SUBPIXEL_BITS
-#define GL_SUBPIXEL_BITS 0x0D50
-#endif
-#ifndef GL_TEXTURE0
-#define GL_TEXTURE0 0x84C0
-#endif
-#ifndef GL_TEXTURE
-#define GL_TEXTURE 0x1702
-#endif
-#ifndef GL_TEXTURE10
-#define GL_TEXTURE10 0x84CA
-#endif
-#ifndef GL_TEXTURE1
-#define GL_TEXTURE1 0x84C1
-#endif
-#ifndef GL_TEXTURE11
-#define GL_TEXTURE11 0x84CB
-#endif
-#ifndef GL_TEXTURE12
-#define GL_TEXTURE12 0x84CC
-#endif
-#ifndef GL_TEXTURE13
-#define GL_TEXTURE13 0x84CD
-#endif
-#ifndef GL_TEXTURE14
-#define GL_TEXTURE14 0x84CE
-#endif
-#ifndef GL_TEXTURE15
-#define GL_TEXTURE15 0x84CF
-#endif
-#ifndef GL_TEXTURE16
-#define GL_TEXTURE16 0x84D0
-#endif
-#ifndef GL_TEXTURE17
-#define GL_TEXTURE17 0x84D1
-#endif
-#ifndef GL_TEXTURE18
-#define GL_TEXTURE18 0x84D2
-#endif
-#ifndef GL_TEXTURE19
-#define GL_TEXTURE19 0x84D3
-#endif
-#ifndef GL_TEXTURE20
-#define GL_TEXTURE20 0x84D4
-#endif
-#ifndef GL_TEXTURE2
-#define GL_TEXTURE2 0x84C2
-#endif
-#ifndef GL_TEXTURE21
-#define GL_TEXTURE21 0x84D5
-#endif
-#ifndef GL_TEXTURE22
-#define GL_TEXTURE22 0x84D6
-#endif
-#ifndef GL_TEXTURE23
-#define GL_TEXTURE23 0x84D7
-#endif
-#ifndef GL_TEXTURE24
-#define GL_TEXTURE24 0x84D8
-#endif
-#ifndef GL_TEXTURE25
-#define GL_TEXTURE25 0x84D9
-#endif
-#ifndef GL_TEXTURE26
-#define GL_TEXTURE26 0x84DA
-#endif
-#ifndef GL_TEXTURE27
-#define GL_TEXTURE27 0x84DB
-#endif
-#ifndef GL_TEXTURE28
-#define GL_TEXTURE28 0x84DC
-#endif
-#ifndef GL_TEXTURE29
-#define GL_TEXTURE29 0x84DD
-#endif
-#ifndef GL_TEXTURE_2D
-#define GL_TEXTURE_2D 0x0DE1
-#endif
-#ifndef GL_TEXTURE30
-#define GL_TEXTURE30 0x84DE
-#endif
-#ifndef GL_TEXTURE3
-#define GL_TEXTURE3 0x84C3
-#endif
-#ifndef GL_TEXTURE31
-#define GL_TEXTURE31 0x84DF
-#endif
-#ifndef GL_TEXTURE4
-#define GL_TEXTURE4 0x84C4
-#endif
-#ifndef GL_TEXTURE5
-#define GL_TEXTURE5 0x84C5
-#endif
-#ifndef GL_TEXTURE6
-#define GL_TEXTURE6 0x84C6
-#endif
-#ifndef GL_TEXTURE7
-#define GL_TEXTURE7 0x84C7
-#endif
-#ifndef GL_TEXTURE8
-#define GL_TEXTURE8 0x84C8
-#endif
-#ifndef GL_TEXTURE9
-#define GL_TEXTURE9 0x84C9
-#endif
-#ifndef GL_TEXTURE_BINDING_2D
-#define GL_TEXTURE_BINDING_2D 0x8069
-#endif
-#ifndef GL_TEXTURE_BINDING_CUBE_MAP
-#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
-#endif
-#ifndef GL_TEXTURE_CUBE_MAP
-#define GL_TEXTURE_CUBE_MAP 0x8513
-#endif
-#ifndef GL_TEXTURE_CUBE_MAP_NEGATIVE_X
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
-#endif
-#ifndef GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
-#endif
-#ifndef GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
-#endif
-#ifndef GL_TEXTURE_CUBE_MAP_POSITIVE_X
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
-#endif
-#ifndef GL_TEXTURE_CUBE_MAP_POSITIVE_Y
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
-#endif
-#ifndef GL_TEXTURE_CUBE_MAP_POSITIVE_Z
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
-#endif
-#ifndef GL_TEXTURE_MAG_FILTER
-#define GL_TEXTURE_MAG_FILTER 0x2800
-#endif
-#ifndef GL_TEXTURE_MIN_FILTER
-#define GL_TEXTURE_MIN_FILTER 0x2801
-#endif
-#ifndef GL_TEXTURE_WRAP_S
-#define GL_TEXTURE_WRAP_S 0x2802
-#endif
-#ifndef GL_TEXTURE_WRAP_T
-#define GL_TEXTURE_WRAP_T 0x2803
-#endif
-#ifndef GL_TRIANGLE_FAN
-#define GL_TRIANGLE_FAN 0x0006
-#endif
-#ifndef GL_TRIANGLES
-#define GL_TRIANGLES 0x0004
-#endif
-#ifndef GL_TRIANGLE_STRIP
-#define GL_TRIANGLE_STRIP 0x0005
-#endif
-#ifndef GL_TRUE
-#define GL_TRUE 1
-#endif
-#ifndef GL_UNPACK_ALIGNMENT
-#define GL_UNPACK_ALIGNMENT 0x0CF5
-#endif
-#ifndef GL_UNSIGNED_BYTE
-#define GL_UNSIGNED_BYTE 0x1401
-#endif
-#ifndef GL_UNSIGNED_INT
-#define GL_UNSIGNED_INT 0x1405
-#endif
-#ifndef GL_UNSIGNED_SHORT
-#define GL_UNSIGNED_SHORT 0x1403
-#endif
-#ifndef GL_UNSIGNED_SHORT_4_4_4_4
-#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
-#endif
-#ifndef GL_UNSIGNED_SHORT_5_5_5_1
-#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
-#endif
-#ifndef GL_UNSIGNED_SHORT_5_6_5
-#define GL_UNSIGNED_SHORT_5_6_5 0x8363
-#endif
-#ifndef GL_VALIDATE_STATUS
-#define GL_VALIDATE_STATUS 0x8B83
-#endif
-#ifndef GL_VENDOR
-#define GL_VENDOR 0x1F00
-#endif
-#ifndef GL_VERSION
-#define GL_VERSION 0x1F02
-#endif
-#ifndef GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
-#endif
-#ifndef GL_VERTEX_ATTRIB_ARRAY_ENABLED
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
-#endif
-#ifndef GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
-#endif
-#ifndef GL_VERTEX_ATTRIB_ARRAY_POINTER
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
-#endif
-#ifndef GL_VERTEX_ATTRIB_ARRAY_SIZE
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
-#endif
-#ifndef GL_VERTEX_ATTRIB_ARRAY_STRIDE
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
-#endif
-#ifndef GL_VERTEX_ATTRIB_ARRAY_TYPE
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
-#endif
-#ifndef GL_VERTEX_SHADER
-#define GL_VERTEX_SHADER 0x8B31
-#endif
-#ifndef GL_VIEWPORT
-#define GL_VIEWPORT 0x0BA2
-#endif
-#ifndef GL_ZERO
-#define GL_ZERO 0
-#endif
-
-#endif
diff --git a/src/threed/graphicsview/qglgraphicsviewportitem.cpp b/src/threed/graphicsview/qglgraphicsviewportitem.cpp
index c99b695e..aec36347 100644
--- a/src/threed/graphicsview/qglgraphicsviewportitem.cpp
+++ b/src/threed/graphicsview/qglgraphicsviewportitem.cpp
@@ -43,7 +43,7 @@
#include "qglpainter.h"
#include "qglsubsurface.h"
#include <QtGui/qpainter.h>
-#include <QtGui/qgraphicsscene.h>
+#include <QtWidgets/qgraphicsscene.h>
QT_BEGIN_NAMESPACE
diff --git a/src/threed/graphicsview/qglgraphicsviewportitem.h b/src/threed/graphicsview/qglgraphicsviewportitem.h
index b7b10364..e1d7577c 100644
--- a/src/threed/graphicsview/qglgraphicsviewportitem.h
+++ b/src/threed/graphicsview/qglgraphicsviewportitem.h
@@ -43,7 +43,7 @@
#define QGLGRAPHICSVIEWPORTITEM_H
#include "qglnamespace.h"
-#include <QtGui/qgraphicsitem.h>
+#include <QtWidgets/qgraphicsitem.h>
QT_BEGIN_HEADER
diff --git a/src/threed/graphicsview/qgraphicsembedscene.cpp b/src/threed/graphicsview/qgraphicsembedscene.cpp
index 9e245880..d68f7106 100644
--- a/src/threed/graphicsview/qgraphicsembedscene.cpp
+++ b/src/threed/graphicsview/qgraphicsembedscene.cpp
@@ -42,10 +42,10 @@
#include "qgraphicsembedscene.h"
#include "qglnamespace.h"
#include <QtOpenGL/qglframebufferobject.h>
-#include <QtGui/qapplication.h>
+#include <QtWidgets/qapplication.h>
#include <QtGui/qpainter.h>
#include <QtGui/qevent.h>
-#include <QtGui/qgraphicssceneevent.h>
+#include <QtWidgets/qgraphicssceneevent.h>
#include <QtCore/qdebug.h>
QT_BEGIN_NAMESPACE
diff --git a/src/threed/graphicsview/qgraphicsembedscene.h b/src/threed/graphicsview/qgraphicsembedscene.h
index 30504aea..ed30f770 100644
--- a/src/threed/graphicsview/qgraphicsembedscene.h
+++ b/src/threed/graphicsview/qgraphicsembedscene.h
@@ -43,7 +43,7 @@
#define QGRAPHICSEMBEDSCENE_H
#include "qglnamespace.h"
-#include <QtGui/qgraphicsscene.h>
+#include <QtWidgets/qgraphicsscene.h>
#include <QtOpenGL/qgl.h>
QT_BEGIN_HEADER
diff --git a/src/threed/painting/qglext.cpp b/src/threed/painting/qglext.cpp
index 82ab179f..093fa204 100644
--- a/src/threed/painting/qglext.cpp
+++ b/src/threed/painting/qglext.cpp
@@ -40,48 +40,62 @@
****************************************************************************/
#include "qglext_p.h"
-#include "qopenglfunctions.h"
+#include <qopenglfunctions.h>
// copied private header
#include "qglextensions_p.h"
+#include <private/qopenglcontext_p.h>
QT_BEGIN_NAMESPACE
#if !defined(QT_OPENGL_ES)
-typedef void (QT3D_GLF_APIENTRYP q_PFNGLCLIENTACTIVETEXTUREPROC) (GLenum);
+typedef void (QOPENGLF_APIENTRYP q_PFNGLCLIENTACTIVETEXTUREPROC) (GLenum);
-class QGLMultiTextureExtensions
+class QGLMultiTextureExtensions : public QOpenGLSharedResource
{
public:
- QGLMultiTextureExtensions(const QGLContext * = 0)
+ QGLMultiTextureExtensions(const QGLContext *ctx)
+ : QOpenGLSharedResource(ctx ? ctx->contextHandle()->shareGroup() : 0)
{
+
clientActiveTexture = 0;
multiTextureResolved = false;
}
+ ~QGLMultiTextureExtensions();
+
+ void invalidateResource() {}
+ void freeResource(QOpenGLContext *) {}
q_PFNGLCLIENTACTIVETEXTUREPROC clientActiveTexture;
bool multiTextureResolved;
};
-Q_GLOBAL_STATIC(QGLResource<QGLMultiTextureExtensions>, qt_multitexture_funcs)
+
+static QGLMultiTextureExtensions *qt_multitexture_funcs;
+
+QGLMultiTextureExtensions::~QGLMultiTextureExtensions()
+{
+ qt_multitexture_funcs = 0;
+}
static QGLMultiTextureExtensions *resolveMultiTextureExtensions
(const QGLContext *ctx)
{
- QGLMultiTextureExtensions *extn = qt_multitexture_funcs()->value(ctx);
- if (!(extn->multiTextureResolved)) {
- extn->multiTextureResolved = true;
- if (!extn->clientActiveTexture) {
- extn->clientActiveTexture = (q_PFNGLCLIENTACTIVETEXTUREPROC)
+ if (!qt_multitexture_funcs)
+ qt_multitexture_funcs = new QGLMultiTextureExtensions(ctx);
+ if (!(qt_multitexture_funcs->multiTextureResolved)) {
+ qt_multitexture_funcs->multiTextureResolved = true;
+ if (!qt_multitexture_funcs->clientActiveTexture) {
+ qt_multitexture_funcs->clientActiveTexture = (q_PFNGLCLIENTACTIVETEXTUREPROC)
ctx->getProcAddress(QLatin1String("glClientActiveTexture"));
}
- if (!extn->clientActiveTexture) {
- extn->clientActiveTexture = (q_PFNGLCLIENTACTIVETEXTUREPROC)
+ if (!qt_multitexture_funcs->clientActiveTexture) {
+ qt_multitexture_funcs->clientActiveTexture = (q_PFNGLCLIENTACTIVETEXTUREPROC)
ctx->getProcAddress(QLatin1String("glClientActiveTextureARB"));
}
}
- return extn;
+ return qt_multitexture_funcs;
}
void qt_gl_ClientActiveTexture(GLenum texture)
diff --git a/src/threed/painting/qglext_p.h b/src/threed/painting/qglext_p.h
index c2999c80..4d8ad990 100644
--- a/src/threed/painting/qglext_p.h
+++ b/src/threed/painting/qglext_p.h
@@ -111,49 +111,6 @@ private:
// we can avoid a direct dependency upon private headers in Qt.
#if QT_VERSION >= 0x040800
-
-class QGLContextGroup;
-
-#if !defined(QGL_P_H)
-
-class Q_OPENGL_EXPORT QGLContextGroupResourceBase
-{
-public:
- QGLContextGroupResourceBase();
- virtual ~QGLContextGroupResourceBase();
- void insert(const QGLContext *context, void *value);
- void *value(const QGLContext *context);
- void cleanup(const QGLContext *context, void *value);
- virtual void freeResource(void *value) = 0;
-
-protected:
- QList<QGLContextGroup *> m_groups;
-
-private:
- QAtomicInt active;
-};
-
-#endif
-
-template <class T>
-class QGLResource : public QGLContextGroupResourceBase
-{
-public:
- T *value(const QGLContext *context) {
- T *resource = reinterpret_cast<T *>(QGLContextGroupResourceBase::value(context));
- if (!resource) {
- resource = new T(context);
- insert(context, resource);
- }
- return resource;
- }
-
-protected:
- void freeResource(void *resource) {
- delete reinterpret_cast<T *>(resource);
- }
-};
-
#else
#if !defined(QGL_P_H)
diff --git a/src/threed/painting/qglpainter.cpp b/src/threed/painting/qglpainter.cpp
index 3bf211cd..fd75bcdb 100644
--- a/src/threed/painting/qglpainter.cpp
+++ b/src/threed/painting/qglpainter.cpp
@@ -387,7 +387,7 @@ bool QGLPainter::begin
d_ptr->projectionMatrix.setDirty(true);
// Initialize the QOpenGLFunctions parent class.
- initializeGLFunctions(context);
+ initializeGLFunctions();
// Determine if the OpenGL implementation is fixed-function or not.
d_ptr->isFixedFunction = !hasOpenGLFeature(QOpenGLFunctions::Shaders);
diff --git a/src/threed/scene/qglscenenode.cpp b/src/threed/scene/qglscenenode.cpp
index 2a8fec51..65d3e796 100644
--- a/src/threed/scene/qglscenenode.cpp
+++ b/src/threed/scene/qglscenenode.cpp
@@ -53,7 +53,7 @@
#include <QtGui/qmatrix4x4.h>
#if !defined(QT_NO_THREAD)
#include <QtCore/qthread.h>
-#include <QtGui/qapplication.h>
+#include <QtWidgets/qapplication.h>
#endif
QT_BEGIN_NAMESPACE
diff --git a/src/threed/textures/qglsharedresource.cpp b/src/threed/textures/qglsharedresource.cpp
index ab6d0101..d75a215a 100644
--- a/src/threed/textures/qglsharedresource.cpp
+++ b/src/threed/textures/qglsharedresource.cpp
@@ -42,6 +42,7 @@
#include "qglsharedresource_p.h"
#include <QtCore/qmutex.h>
#include <QtCore/qcoreapplication.h>
+#include <qopenglcontext.h>
QT_BEGIN_NAMESPACE
@@ -139,8 +140,6 @@ QGLContextInfo *QGLContextManager::contextInfo(const QGLContext *ctx)
return info;
}
-Q_OPENGL_EXPORT const QGLContext *qt_gl_transfer_context(const QGLContext *);
-
void QGLContextManager::aboutToDestroyContext(const QGLContext *ctx)
{
QMutexLocker locker(&managerLock);
@@ -148,12 +147,12 @@ void QGLContextManager::aboutToDestroyContext(const QGLContext *ctx)
while (index < m_contexts.size()) {
QGLContextInfo *info = m_contexts[index];
if (info->m_context == ctx) {
- const QGLContext *transfer = qt_gl_transfer_context(ctx);
+ QOpenGLContext *transfer = ctx->contextHandle()->shareContext();
if (transfer) {
// Transfer ownership to another context in the same sharing
// group. This may result in multiple QGLContextInfo objects
// for the same context, which is ok.
- info->m_context = transfer;
+ info->m_context = QGLContext::fromOpenGLContext(transfer);
} else {
// All contexts in the sharing group have been deleted,
// so detach all of the shared resources.
diff --git a/src/threed/textures/qgltextureutils.cpp b/src/threed/textures/qgltextureutils.cpp
index acdf7a9d..ea012147 100644
--- a/src/threed/textures/qgltextureutils.cpp
+++ b/src/threed/textures/qgltextureutils.cpp
@@ -42,6 +42,7 @@
#include "qgltextureutils_p.h"
#include "qglext_p.h"
#include <QtCore/qfile.h>
+#include <private/qopenglcontext_p.h>
QT_BEGIN_NAMESPACE
@@ -88,7 +89,8 @@ QGL::TextureWrap qt_gl_modify_texture_wrap(QGL::TextureWrap value)
}
QGLTextureExtensions::QGLTextureExtensions(const QGLContext *ctx)
- : npotTextures(false)
+ : QOpenGLSharedResource(ctx->contextHandle()->shareGroup())
+ , npotTextures(false)
, generateMipmap(false)
, bgraTextureFormat(false)
, ddsTextureCompression(false)
@@ -122,20 +124,26 @@ QGLTextureExtensions::QGLTextureExtensions(const QGLContext *ctx)
#else
compressedTexImage2D = glCompressedTexImage2D;
#endif
+
}
+static QGLTextureExtensions *qt_gl_texture_extensions;
+
QGLTextureExtensions::~QGLTextureExtensions()
{
+ qt_gl_texture_extensions = 0;
}
-Q_GLOBAL_STATIC(QGLResource<QGLTextureExtensions>, qt_gl_texture_extensions)
+
QGLTextureExtensions *QGLTextureExtensions::extensions()
{
const QGLContext *ctx = QGLContext::currentContext();
if (!ctx)
return 0;
- return qt_gl_texture_extensions()->value(ctx);
+ if (!qt_gl_texture_extensions)
+ qt_gl_texture_extensions = new QGLTextureExtensions(ctx);
+ return qt_gl_texture_extensions;
}
static void qt_gl_destroyTextureId(GLuint id)
diff --git a/src/threed/textures/qgltextureutils_p.h b/src/threed/textures/qgltextureutils_p.h
index 2cff59d3..8077bb11 100644
--- a/src/threed/textures/qgltextureutils_p.h
+++ b/src/threed/textures/qgltextureutils_p.h
@@ -59,6 +59,8 @@
#include "qopenglfunctions.h"
#include "qglsharedresource_p.h"
+#include <private/qopenglcontext_p.h>
+
QT_BEGIN_NAMESPACE
#ifndef GL_BGRA
@@ -96,10 +98,10 @@ QT_BEGIN_NAMESPACE
// Modify a wrapping mode to account for platform differences.
QGL::TextureWrap qt_gl_modify_texture_wrap(QGL::TextureWrap value);
-typedef void (QT3D_GLF_APIENTRYP q_glCompressedTexImage2DARB)
+typedef void (QOPENGLF_APIENTRYP q_glCompressedTexImage2DARB)
(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-class QGLTextureExtensions
+class QGLTextureExtensions : public QOpenGLSharedResource
{
public:
QGLTextureExtensions(const QGLContext *ctx);
@@ -114,6 +116,10 @@ public:
q_glCompressedTexImage2DARB compressedTexImage2D;
static QGLTextureExtensions *extensions();
+
+ void invalidateResource() {}
+ void freeResource(QOpenGLContext *context) {}
+
};
class QGLBoundTexture
diff --git a/src/threed/threed.pro b/src/threed/threed.pro
index fcc3318a..0d6ba0bc 100644
--- a/src/threed/threed.pro
+++ b/src/threed/threed.pro
@@ -7,8 +7,10 @@ gcov {
} else {
CONFIG += dll warn_on
}
-QT += opengl \
- network
+QT += opengl
+QT += network
+QT += gui-private
+QT += core-private
include(../../pkg.pri)
diff --git a/src/threed/viewing/qglview.cpp b/src/threed/viewing/qglview.cpp
index f22314f1..7e6b739e 100644
--- a/src/threed/viewing/qglview.cpp
+++ b/src/threed/viewing/qglview.cpp
@@ -48,7 +48,7 @@
#include "qray3d.h"
#include <QtGui/qevent.h>
#include <QtCore/qmap.h>
-#include <QtGui/qapplication.h>
+#include <QtWidgets/qapplication.h>
#include <QtCore/qtimer.h>
#include <QtCore/qdatetime.h>
#include <QtCore/qdebug.h>
diff --git a/tests/auto/qml3d/qml3d.pro b/tests/auto/qml3d/qml3d.pro
index 044d26a2..7768f141 100644
--- a/tests/auto/qml3d/qml3d.pro
+++ b/tests/auto/qml3d/qml3d.pro
@@ -2,6 +2,7 @@ load(qttest_p4.prf)
TEMPLATE=app
CONFIG += unittest warn_on
QT += declarative opengl
+QT += qtquick1
SOURCES += tst_qml3d.cpp
DEFINES += QML3D_TEST_SOURCE_DIR=\"\\\"$$PWD\\\"\"
win32:DEFINES+=_CRT_SECURE_NO_WARNINGS
diff --git a/tests/auto/qml3d/tst_qml3d.cpp b/tests/auto/qml3d/tst_qml3d.cpp
index d8757a39..f95928d9 100644
--- a/tests/auto/qml3d/tst_qml3d.cpp
+++ b/tests/auto/qml3d/tst_qml3d.cpp
@@ -41,7 +41,7 @@
#include <QApplication>
#include <QtDeclarative/qdeclarative.h>
-#include <QtDeclarative/qdeclarativeview.h>
+#include <QtQuick1/qdeclarativeview.h>
#include <QtDeclarative/qdeclarativeengine.h>
#include <QtDeclarative/qdeclarativecontext.h>
#include <QtOpenGL/qgl.h>
diff --git a/tests/auto/threed/qglcolladafxeffectfactory/qglcolladafxeffectfactory.pro b/tests/auto/threed/qglcolladafxeffectfactory/qglcolladafxeffectfactory.pro
index 05540601..e4c60730 100644
--- a/tests/auto/threed/qglcolladafxeffectfactory/qglcolladafxeffectfactory.pro
+++ b/tests/auto/threed/qglcolladafxeffectfactory/qglcolladafxeffectfactory.pro
@@ -1,8 +1,11 @@
load(qttest_p4.prf)
TEMPLATE = app
QT += testlib
+QT += opengl
+
CONFIG += unittest warn_on qt3d
+
INCLUDEPATH += ../../../../demos/shaderwizard/
VPATH += ../../../../demos/shaderwizard/
diff --git a/tests/auto/threed/qopenglfunctions/qopenglfunctions.pro b/tests/auto/threed/qopenglfunctions/qopenglfunctions.pro
index c830ff37..35d5ec21 100644
--- a/tests/auto/threed/qopenglfunctions/qopenglfunctions.pro
+++ b/tests/auto/threed/qopenglfunctions/qopenglfunctions.pro
@@ -1,6 +1,8 @@
load(qttest_p4.prf)
TEMPLATE=app
QT += testlib
+QT += opengl
+
CONFIG += unittest warn_on qt3d
SOURCES += tst_qopenglfunctions.cpp
diff --git a/tests/auto/threed/qopenglfunctions/tst_qopenglfunctions.cpp b/tests/auto/threed/qopenglfunctions/tst_qopenglfunctions.cpp
index 0ef53909..be89f021 100644
--- a/tests/auto/threed/qopenglfunctions/tst_qopenglfunctions.cpp
+++ b/tests/auto/threed/qopenglfunctions/tst_qopenglfunctions.cpp
@@ -41,6 +41,7 @@
#include <QtTest/QtTest>
#include "qopenglfunctions.h"
+#include <QtOpenGL>
class tst_QOpenGLFunctions : public QObject
{
diff --git a/tests/auto/threed/qsphere3d/qsphere3d.pro b/tests/auto/threed/qsphere3d/qsphere3d.pro
index d758dcf1..92a9a4b1 100644
--- a/tests/auto/threed/qsphere3d/qsphere3d.pro
+++ b/tests/auto/threed/qsphere3d/qsphere3d.pro
@@ -1,5 +1,6 @@
load(qttest_p4.prf)
TEMPLATE=app
QT += testlib
+QT += opengl
CONFIG += unittest warn_on qt3d
SOURCES += tst_qsphere3d.cpp
diff --git a/tests/auto/threed/qvectorarray/qvectorarray.pro b/tests/auto/threed/qvectorarray/qvectorarray.pro
index 07677159..e668785d 100644
--- a/tests/auto/threed/qvectorarray/qvectorarray.pro
+++ b/tests/auto/threed/qvectorarray/qvectorarray.pro
@@ -1,6 +1,8 @@
load(qttest_p4.prf)
TEMPLATE=app
QT += testlib
+QT += opengl
+
CONFIG += unittest warn_on qt3d
INCLUDEPATH += ../../../shared
diff --git a/tests/manual/animations/main.cpp b/tests/manual/animations/main.cpp
index bc89a00f..5f839699 100644
--- a/tests/manual/animations/main.cpp
+++ b/tests/manual/animations/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../../shared/qmlres.h"
diff --git a/tests/manual/displaymodel/main.cpp b/tests/manual/displaymodel/main.cpp
index b26d4eda..d967a02d 100644
--- a/tests/manual/displaymodel/main.cpp
+++ b/tests/manual/displaymodel/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../../shared/qmlres.h"
diff --git a/tests/manual/model3ds/main.cpp b/tests/manual/model3ds/main.cpp
index 2b2276c1..472cff9a 100644
--- a/tests/manual/model3ds/main.cpp
+++ b/tests/manual/model3ds/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../../shared/qmlres.h"
diff --git a/tests/manual/navigation1/main.cpp b/tests/manual/navigation1/main.cpp
index f3d6a8b9..1d25b082 100644
--- a/tests/manual/navigation1/main.cpp
+++ b/tests/manual/navigation1/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../../shared/qmlres.h"
diff --git a/tests/manual/qrc/main.cpp b/tests/manual/qrc/main.cpp
index e56a21ed..16c8855f 100644
--- a/tests/manual/qrc/main.cpp
+++ b/tests/manual/qrc/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include <QWidget>
#include <QHBoxLayout>
diff --git a/tests/manual/rotation/main.cpp b/tests/manual/rotation/main.cpp
index 9c44b41e..2d70a6c1 100644
--- a/tests/manual/rotation/main.cpp
+++ b/tests/manual/rotation/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../../shared/qmlres.h"
diff --git a/tests/manual/scaling/main.cpp b/tests/manual/scaling/main.cpp
index b4112b44..f1f90aab 100644
--- a/tests/manual/scaling/main.cpp
+++ b/tests/manual/scaling/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../../shared/qmlres.h"
diff --git a/tests/manual/submesh/main.cpp b/tests/manual/submesh/main.cpp
index 67e68746..61f6ed4d 100644
--- a/tests/manual/submesh/main.cpp
+++ b/tests/manual/submesh/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../../shared/qmlres.h"
diff --git a/tests/manual/transformations/main.cpp b/tests/manual/transformations/main.cpp
index 56ac5a46..041a7fb8 100644
--- a/tests/manual/transformations/main.cpp
+++ b/tests/manual/transformations/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../../shared/qmlres.h"
diff --git a/tests/manual/translation/main.cpp b/tests/manual/translation/main.cpp
index 2755fd86..18e5e4ec 100644
--- a/tests/manual/translation/main.cpp
+++ b/tests/manual/translation/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../../shared/qmlres.h"
diff --git a/tutorials/quick3d/teapot_bounce_qml/main.cpp b/tutorials/quick3d/teapot_bounce_qml/main.cpp
index 8884f056..a804a3aa 100644
--- a/tutorials/quick3d/teapot_bounce_qml/main.cpp
+++ b/tutorials/quick3d/teapot_bounce_qml/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/tutorials/quick3d/teapot_qml/main.cpp b/tutorials/quick3d/teapot_qml/main.cpp
index db995465..7086077f 100644
--- a/tutorials/quick3d/teapot_qml/main.cpp
+++ b/tutorials/quick3d/teapot_qml/main.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <QtGui/QApplication>
+#include <QtWidgets/QApplication>
#include "qdeclarativeview3d.h"
#include "../qmlres.h"
diff --git a/util/qt3d/qglinfo/qglinfowindow.cpp b/util/qt3d/qglinfo/qglinfowindow.cpp
index ba189ba6..6b2d8504 100644
--- a/util/qt3d/qglinfo/qglinfowindow.cpp
+++ b/util/qt3d/qglinfo/qglinfowindow.cpp
@@ -46,7 +46,7 @@
#include "fpswidget.h"
#include <QtOpenGL/qgl.h>
-#include <QtGui/qfiledialog.h>
+#include <QtWidgets/qfiledialog.h>
#include <QtGui/qfont.h>
#include <QtCore/qdir.h>
#include <QtCore/qfile.h>